转换XML时出现路径异常中的非法字符
本文关键字:非法 字符 异常 路径 XML 转换 | 更新日期: 2023-09-27 18:28:29
我正在从一个文件加载XML,然后我想用XSLT将其转换为HTML。为此,我使用Transform的重载和2个字符串作为参数,因此我将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
。那么我该如何解决非法字符的问题呢?
这是一个尽可能短的版本,请尝试:
XslCompiledTransform xsltTrans = new XslCompiledTransform();
string htmlResult;
string xmlContents = @"L:'ProjectGroup'GK'XML documents'Parent-Child.xml";
public String getHTMLresult()
{
xsltTrans.Load(@"L:'ProjectGroup'GK'XML documents'blah.xsl");
StringWriter sw = new StringWriter();
XmlTextWriter xw = new XmlTextWriter(sw);
xsltTrans.Transform(xmlContents, null, xw);
htmlResult = sw.ToString();
return htmlResult;
}