【发布时间】:2013-08-20 11:45:08
【问题描述】:
我正在从一个文件加载 XML,然后我想用 XSLT 将它转换为 HTML。为此,我使用带有 2 个字符串作为参数的 Transform 的重载,因此我将 XML 转换为字符串。 (XSL 正在工作 - 单独检查)。但是当我尝试运行它时 - 我在 .Transform() 方法的 result 参数处遇到异常。
XmlDocument xml = new XmlDocument();
XslCompiledTransform xsltTrans = new XslCompiledTransform();
string htmlResult = "test";
string xmlContents;
private string getXMLAsString(XmlDocument myxml)
{
StringWriter sw = new StringWriter();
XmlTextWriter tx = new XmlTextWriter(sw);
myxml.WriteTo(tx);
string str = sw.ToString();
return str;
}
public String getHTMLresult()
{
xml.Load(@"L:\ProjectGroup\GK\XML documents\Parent-Child.xml");
xmlContents = getXMLAsString(xml);
xsltTrans.Load(@"L:\ProjectGroup\GK\XML documents\blah.xsl");
xsltTrans.Transform(xmlContents, htmlResult);
return htmlResult;
}
是因为htmlResult 已经有值了吗?但是,如果我将其留空,或者将其设置为null,我会得到异常null values are not allowed。那我该如何解决这个非法字符的问题呢?
【问题讨论】:
-
@Heslacher - 啊,我现在明白了。谢谢。 :)
标签: c# xml xslt transformation