我正在尝试使用XslTransform从另一个XML生成XML。我将这两个文件(源XML和XSL转换文件)作为字符串内容,所以我试图将XSL文件作为XmlReader传递给XslTransform.Load()方法。现在必须从包含XSL文件的源字符串创建XmlReader,所以我尝试这样做:
MemoryStream memStream = new MemoryStream();
byte[] data = Encoding.Default.GetBytes(transformation.XsltContent);
memStream.Write(data, 0, data.Length);
memStream.Position = 0;
XmlReader reader = XmlReader.Create(memStream);
并尝试使用StringReader:
XmlReader reader = XmlReader.Create(new StringReader(transformation.XsltContent));
不幸的是,机器人方法似乎不起作用,输入似乎没问题,我甚至尝试创建一些基本的单元素XML来传递,也不会工作 - 读者包含{无}。
有人能指出这里似乎有什么问题吗?
答案 0 :(得分:103)
XmlReader xmlReader = XmlReader.Create(new StringReader(YourStringValue));
答案 1 :(得分:29)
StringReader - > XmlReader的方法很好,你应该坚持下去。读者报告没有,因为它尚未被阅读。尝试在其上调用Read()以查看当时会发生什么。转换也会调用read ..