嘗試將代碼中生成的XML轉換爲純文本輸出時,我總是收到上述錯誤。XML轉換錯誤 - 指定的節點不能作爲此節點的有效子節點插入,因爲指定的節點類型不正確
我的.xsl文件是:
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:text>Test</xsl:text>
</xsl:template>
</xsl:transform>
而且我的C#方法的代碼是:
if(!File.Exists(xslPath))
throw new Exception("XSL File (" + xslPath + ") does not exist");
XslTransform docXsl = new XslTransform();
docXsl.Load(xslPath);
XmlDocument docXml = new XmlDocument();
XmlElement emailNode = docXml.CreateElement("Email");
docXml.AppendChild(emailNode);
XmlResolver xres = null;
XmlReader xr = docXsl.Transform(docXml, null, xres);
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(xr);
return xmldoc.OuterXml;
生成的XML是非常簡單,只需
<Email/>
如果我刪除來自XSL的節點,那麼我不會收到錯誤。
我找不到爲什麼會發生這種情況。任何幫助將不勝感激。
謝謝
謝謝!這正是我需要的。很好的解釋,並使我找到了一個可行的解決方案。我在XSL中保存純文本模板來發送電子郵件,並根據XML文件填充模板。 – ExceptionEx