如何在没有安全文件的情况下在C#程序中应用xsl转换?

时间:2016-03-30 16:28:17

标签: c# xml xslt

我需要应用简单的xsl变换并继续处理结果数据,但我不想保存文件。这是我的代码:

XslTransform xsl = new XslTransform();
        var writer = new MemoryStream();
        var xslDoc = new XPathDocument("107901.xslt");
        xsl.Load(@"C:\Users\mak\Documents\Visual Studio 2015\Projects\SpellCheck\SpellCheck\GetAllValues.xslt");
        xsl.Transform(xslDoc, null, writer);
        writer.Position = 1;
        var str = new StreamReader(writer);
        var normalize = str.ReadToEnd().Trim('�');
        XmlDocument xmlDocument = new XmlDocument();
        xmlDocument.Save(normalize);

1)为什么变量str出现2符号65533? 2)为什么变量normalize不保存xml文件?错误'无法将其添加到内容字符而不是空白'

也许我做错了所以会更容易。 对不起英语不好,沉没的答案: - )

1 个答案:

答案 0 :(得分:0)

不理解问题1所以我将跳过问题2.如果您想阅读the documentation,则明确提到Save()的字符串参数应包含 “要保存文档的文件的位置”。至于从XML字符串填充XmlDocument实例,您可以使用LoadXml()

.....
.....
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.LoadXml(normalize);
xmlDocument.Save("D:\path\to\your\output.xml");