当前位置 : 主页 > 网络编程 > net编程 >

c#使用XSLT将xml文档转换为html文档

来源:互联网 收集:自由互联 发布时间:2023-09-07
需要引用下面的命名空间: using System.Xml; using System.Xml.Xsl; 方法实现: public static string ConvertXML(XmlDocument InputXMLDocument, string XSLTFilePath , XsltArgumentList XSLTArgs) { System.IO.StringWriter sw = new Sy

需要引用下面的命名空间:

using System.Xml;  
using System.Xml.Xsl;

方法实现:

public static string ConvertXML(XmlDocument InputXMLDocument, string XSLTFilePath  
, XsltArgumentList XSLTArgs)
{
System.IO.StringWriter sw = new System.IO.StringWriter();
XslCompiledTransform xslTrans = new XslCompiledTransform();
xslTrans.Load(XSLTFilePath);
xslTrans.Transform(InputXMLDocument.CreateNavigator(), XSLTArgs, sw);
return sw.ToString();
}

示例xml文件如下:

<?xml version="1.0" encoding="utf-8" ?>
<sexystars>
<category name="Bollywood">
<sexystar name="Antra mali" />
<sexystar name="Deepika Padukone" />
<sexystar name="Mandira Bedi" />
</category>
<category name="Hollywood">
<sexystar name="Jennifer Lopez" />
<sexystar name="Jessica Alba" />
</category>
</sexystars>

示例xslt文件如下:

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>
<xsl:template match="sexystars">
<div>
<xsl:apply-templates select="category" />
</div>
</xsl:template>
<xsl:template match="category">
<h2>
<xsl:value-of select="@name"/>
</h2>
<ul>
<xsl:apply-templates select="sexystar" />
</ul>
</xsl:template>
<xsl:template match="sexystar">
<li>
<xsl:value-of select="@name"/>
</li>
</xsl:template>
</xsl:stylesheet>

调用的c#代码:

XmlDocument xDoc=new XmlDocument();  
xDoc.Load(@"C:\sample.xml");
string returnhtml = ConvertXML(xDoc, @"C:\sample.xslt", new XsltArgumentList());

将输入如下html:

<div>
<h2>Bollywood</h2>
<ul>
<li>Antra mali</li>
<li>Deepika Padukone</li>
<li>Mandira Bedi</li>
</ul>
<h2>Hollywood</h2>
<ul>
<li>Jennifer Lopez</li>
<li>Jessica Alba</li>
</ul>
</div>

  龙腾一族至尊龙骑

上一篇:C# 模拟键盘操作--SendKey(),SendKeys()
下一篇:没有了
网友评论