再会,
我有以下 XML 文件:
<?xml version="1.0" encoding="utf-8" ?>
<company>
<name>XYZ Inc.</name>
<address1>One Abc Way</address1>
<address2>Some avenue</address2>
<city>Tech city</city>
<country>Neverland</country>
<products>
<product id="123">Toaster</product>
<product id="293">Oven</product>
<product id="241">Egg Beater</product>
</products>
</company>
和以下 XSLT 文件:
<table>
<xsl:for-each select="/company/products">
<tr>
<td>Product:</td>
<td>
<xsl:value-of select="product"/>
</td>
</tr>
</xsl:for-each>
</table>
但是当我运行以下 C# 代码时:
string xmlFile = Path.Combine(xmlFolder, "Company.xml");
string xsltFile = Path.Combine(xsltFolder, "Company.xslt");
string htmlOutputFile = Path.Combine(templateFolder, "Company.html");
XPathDocument myXPathDoc = new XPathDocument(xmlFile);
XslCompiledTransform myXslTrans = new XslCompiledTransform(true);
myXslTrans.Load(xsltFile);
XmlTextWriter myWriter = new XmlTextWriter(htmlOutputFile, null);
myXslTrans.Transform(myXPathDoc, null, myWriter);
但是当我打开生成的 HTML 文档时,只显示第一个产品。
<table>
<tr>
<td>
Product:
</td>
<td>
Toaster
</td>
</tr>
</table>
现在,我注意到我是否使用了“。” 而不是产品中的
<td><xsl:value-of select="."/>
然后我得到所有三个值,但在一行上。
我错过了什么?
TIA,
科森