SourceXmlReader Property
Gets the underlying XmlReader that the XmlNodeReader reads from.
Syntax
public XmlReader SourceXmlReader { get; }
Return Value
Returns an XmlReader object that provides the XML data source for the XmlNodeReader. The returned reader is positioned at the start of the underlying XML document.
Remarks
The SourceXmlReader property is read‑only. It allows you to access the original XmlReader that was passed to the XmlNodeReader constructor or that was created internally when the XmlNodeReader was constructed from an XmlNode.
When you modify the state of the returned XmlReader, the changes are reflected in the XmlNodeReader because they share the same underlying stream.
Example
using System;
using System.Xml;
class Demo
{
static void Main()
{
string xml = @"<root><child id='1'>Value</child></root>";
using (XmlReader reader = XmlReader.Create(new System.IO.StringReader(xml)))
using (XmlNodeReader nodeReader = new XmlNodeReader(reader))
{
Console.WriteLine("Source type: " + nodeReader.SourceXmlReader.GetType());
// Output: Source type: System.Xml.XmlTextReaderImpl
while (nodeReader.Read())
{
if (nodeReader.NodeType == XmlNodeType.Element && nodeReader.Name == "child")
{
Console.WriteLine($"Element: {nodeReader.Name}, Value: {nodeReader.Value}");
}
}
}
}
}