![]() |
以前的方法是采用XslTransform.Transform 方法(http://dotnet.aspx.cc/article/651cb7ee-2a14-4473-58e4-4a38e4cf6d4b/read.aspx),现在已经提示过时,可以采用下面的方法替代。例子中的1.xsl文件
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.0">
<xsl:template match="//rss">
<html>
<body>
<h1>
<xsl:value-of select="/rss/channel/title"/>
</h1>
<p>
<xsl:value-of select="/rss/channel/description"/>
</p>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="link"/>
</xsl:attribute>
阅读全部……
</xsl:element>
<xsl:for-each select="/rss/channel/item">
<h2>
<xsl:value-of select="title"/>
</h2>
<hr/>
<p>
<xsl:value-of select="description" disable-output-escaping="yes"/>
</p>
<p>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="link"/>
</xsl:attribute>
阅读全部……
</xsl:element>
</p>
<p style="color: #ccc; font-size: 0.7em;">
<xsl:value-of select="dc:creator"/>
</p>
<p style="color: #ccc; font-style: italic; font-size: 0.7em;">
<xsl:value-of select="dc:date"/>
</p>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
转换代码
System.Xml.Xsl.XslCompiledTransform RssXslt = new System.Xml.Xsl.XslCompiledTransform();
RssXslt.Load(Server.MapPath("~/1.xsl"));
System.IO.StringWriter resultString = new System.IO.StringWriter();
RssXslt.Transform("http://dotnet.aspx.cc/Rss.aspx", null, resultString);
Response.Write(resultString.ToString());
Dim RssXslt As New System.Xml.Xsl.XslCompiledTransform()
RssXslt.Load(Server.MapPath("~/1.xsl"))
Dim resultString As System.IO.StringWriter = New System.IO.StringWriter()
RssXslt.Transform("http://dotnet.aspx.cc/Rss.aspx", Nothing, resultString)
Response.Write(resultString.ToString())