download:Unity 全流程开发热门游戏BallSort,助力迈入游戏高薪畛域

办法实现:
1
2
3
4
5
6
7
8
9
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文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
<?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文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?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#代码:

1
2
3
XmlDocument xDoc=new XmlDocument();
xDoc.Load(@"C:\sample.xml");
string returnhtml = ConvertXML(xDoc, @"C:\sample.xslt", new XsltArgumentList());
将输出如下html:

1
2
3
4
5
6
7
8
9
10
11
12
13
<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>