Reputation: 2066
Given an XDocument, how can I obtain an XmlTextReader to its contents? XDocument.CreateReader() returns a XmlNodeReader, I need an XmlTextReader.
var xDoc = new XDocument(...);
var nodeReader = xDoc.CreateReader(); // I need a XmlTextReader
var textReader = new XmlTextReader(????xDoc???);
Upvotes: 2
Views: 1254
Reputation: 1149
I don't know if this is best way, but if you got XDocument
and cant read xml file to anything else, you could change XDocument
to MemoryStream
and create `XmlTextReader' from this stream:
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
}
Upvotes: 0
Reputation: 2066
This seems to work, not sure why I didn't think of it sooner...
var xDoc = new XDocument(...);
var textReader = new XmlTextReader(new System.IO.StringReader(xDoc.ToString()));
Upvotes: 2