鉴于XDocument,我如何获取其内容的XmlTextReader? XDocument.CreateReader()返回一个XmlNodeReader,我需要一个XmlTextReader。
var xDoc = new XDocument(...);
var nodeReader = xDoc.CreateReader(); // I need a XmlTextReader
var textReader = new XmlTextReader(????xDoc???);
答案 0 :(得分:1)
这似乎有效,不知道为什么我没想到它......
var xDoc = new XDocument(...);
var textReader = new XmlTextReader(new System.IO.StringReader(xDoc.ToString()));
答案 1 :(得分:0)
我不知道这是否是最佳方式,但如果您获得XDocument
并且无法将xml文件读取到其他任何内容,则可以将XDocument
更改为MemoryStream
并创建`的XmlTextReader'从这个流:
var xmlFile = XDocument.Load(uri);
Stream stream = new MemoryStream();
xmlFile.Save(stream);
stream.Position = 0;
XmlTextReader reader = new XmlTextReader(stream);
while (reader.Read())
{
//do your stuff with file
}