来自字符串内容的XMLReader

时间:2010-12-23 11:59:42

标签: c# xml xslt

我正在尝试使用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来传递,也不会工作 - 读者包含{无}。

有人能指出这里似乎有什么问题吗?

2 个答案:

答案 0 :(得分:103)

XmlReader xmlReader = XmlReader.Create(new StringReader(YourStringValue));

答案 1 :(得分:29)

StringReader - > XmlReader的方法很好,你应该坚持下去。读者报告没有,因为它尚未被阅读。尝试在其上调用Read()以查看当时会发生什么。转换也会调用read ..