0
當我想在C#中使用xsl:name前綴創建元素時,它會創建一個不帶xsl前綴的元素。我如何創建具有特定前綴的元素? 我從xml文件中刪除了<xslt:stylesheet>
頭文件,但是當我打開xml文件時,Load方法拋出了一個關於xsl前綴的異常。通過編程創建<xls:text></xsl:text>元素
?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" omit-xml-declaration="yes" indent="no"/>
<table border="1">
<thead>
<tr>
<!--<th>
<span>
<xsl:text>HeaderSample</xsl:text>
</span>
</th>-->
</tr>
</thead>
<tbody>
<xsl:for-each select="result1">
<xsl:for-each select="row">
<tr>
<td>
<xsl:for-each select="HeaderSample">
<xsl:apply-templates/>
</xsl:for-each>
</td>
</tr>
</xsl:for-each>
</xsl:for-each>
</tbody>
</table>
</xsl:stylesheet>
XmlDocument doc = new XmlDocument();
doc.Load("Template\\ResultItem.xml");
XmlNode headerElement = doc.LastChild.SelectSingleNode("table/thead/tr");
foreach (string h in Headers)
{
XmlElement thElement = doc.CreateElement("th");
XmlElement spanElement = doc.CreateElement("span");
XmlElement xslTextElement = doc.CreateElement("xsl:text");
xslTextElement.InnerText = h;
spanElement.AppendChild(xslTextElement);
thElement.AppendChild(spanElement);
headerElement.AppendChild(thElement);
}
在輸出沒有<xsl:text>...</xsl:text>
但有<text>...</text>
。
可能重複:http://stackoverflow.com/questions/2920142/how-to-add-xmlnamespace-to-a- xmldocument – Ermiar
我試過了,但有一個錯誤說:「非靜態字段,方法或屬性需要對象引用'XmlDocument.DocumentElement'」@Ermiar – teardrop