良い一日、
次の 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="."/>
次に、3 つの値をすべて 1 行で取得します。
私は何が欠けていますか?
ティア、
コソン