繁体   English   中英

转换XML时路径异常中的非法字符

[英]Illegal characters in path exception when Transforming XML

我正在从文件加载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 那我怎么用非法字符解决这个问题呢?

这是尽可能短的版本,请尝试:

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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM