Illustrates the XmlTextReader class : XML Read « XML « C# / C Sharp

Illustrates the XmlTextReader class

Illustrates the XmlTextReader class
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy

Publisher: Sybex;
ISBN: 0782129110

  Example20_2.cs illustrates the XmlTextReader class

using System;
using System.Xml;

public class Example20_2 
    // Display a node and its children
    private static void AddChildren(XmlNode xnod, int level)
        XmlNode xnodWorking;
        String pad = new String(' ', level * 2);

        Console.WriteLine(pad + xnod.Name + "(" + xnod.NodeType.ToString() 
         + ": " + xnod.Value + ")");
        // if this is an element, extract any attributes
        if (xnod.NodeType == XmlNodeType.Element)
            XmlNamedNodeMap mapAttributes = xnod.Attributes;
            for(int i=0; i<mapAttributes.Count; i+=1)
                Console.WriteLine(pad + " " + mapAttributes.Item(i).Name 
                    + " = " +  mapAttributes.Item(i).Value);
        // call recursively on all children of the current node
        if (xnod.HasChildNodes)
            xnodWorking = xnod.FirstChild;
            while (xnodWorking != null)
                AddChildren(xnodWorking, level+1);
                xnodWorking = xnodWorking.NextSibling;


    public static void Main() 

        // use an XmlTextReader to open an XML document
        XmlTextReader xtr = new XmlTextReader(@"c:\temp\Cust4.xml");
        xtr.WhitespaceHandling = WhitespaceHandling.None;

        // load the file into an XmlDocuent
        XmlDocument xd = new XmlDocument();

        // get the document root node
        XmlNode xnodDE = xd.DocumentElement;

        // recursively walk the node tree
        AddChildren(xnodDE, 0);

        // close the reader


//File: Cust4.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="Cust.xsl"?>
        <CompanyName>Alfreds Futterkiste</CompanyName>
        <ContactName>Maria Anders</ContactName>
        <ContactTitle>Sales Representative</ContactTitle>
        <Address>Obere Str. 57</Address>
        <ContactName>Laurence Lebihan</ContactName>
        <Address>12, rue des Bouchers</Address>



Related examples in the same category

1.Writing XML with the XmlWriter Class
2.Reading from an XML file.
3.Access Attributes
4.Load Xml Document SampleLoad Xml Document Sample
5.Read An XML File
6.Read XML From URL
7.Load xml document from xml file
8.If a Xml node Has Attributes
9.Convert String To XmlReader
10.Remove empty tags in the Xml string
11.Gets an appropriate System.Xml.XmlReader implementation for the supplied System.IO.Stream
12.Convert a stream of text lines separated with newline sequences into an XML build result.
13.XmlNameTable of atomized string objects.
14.XmlReader represents a reader that provides non-cached, forward-only access to XML data.
15.XmlReader.AttributeCount Property returns the number of attributes
16.XmlReader.Create creates a new XmlReader instance using the specified stream.
17.XmlReader.Create (String) creates a new XmlReader instance with specified URI.
18.XmlReader.Create (String, XmlReaderSettings) creates XmlReader with URI and XmlReaderSettings.
19.XmlReader.Create creates a new XmlReader instance.
20.XmlReader.Create (TextReader) creates a new XmlReader instance with the specified TextReader.
21.XmlReader.Create (TextReader, XmlReaderSettings, XmlParserContext)
22.XmlReader.Create (XmlReader, XmlReaderSettings) creates XmlReader with XmlReader and XmlReaderSettings
23.XmlReader.GetAttribute return the value of the attribute with the specified index.
24.XmlReader.GetAttribute (String) returns the attribute with the specified Name.
25.XmlReader.HasAttributes tells whether the current node has any attributes.
27.XmlReader.IsEmptyElement tells whether the current node is an empty element (for example, ).
28.XmlReader.IsStartElement (String) tells if the current content node is a start tag or empty element tag.
29.XmlReader.Item Property returns the value of the attribute with the specified Name.
30.XmlReader.LocalName Property gets the local name of the current node.
31.XmlReader.MoveToAttribute (Int32) moves to the attribute with the specified index.
32.XmlReader.MoveToFirstAttribute moves to the first attribute.
33.XmlReader.Name Property gets the qualified name of the current node.
34.XmlReader.ReadContentAs reads the content as an object of the type specified.
35.XmlReader.ReadContentAsBoolean reads the text content at the current position as a Boolean.
36.XmlReader.ReadElementContentAs(Type, IXmlNamespaceResolver) reads the element content as the requested type.
37.XmlReader.ReadElementContentAsBinHex reads the element and decodes the BinHex content.
38.XmlReader.ReadElementContentAsDateTime reads the element and returns the contents as a DateTime object.
39.XmlReader.ReadElementContentAsDouble reads element and returns the contents as a double
40.XmlReader.ReadElementContentAsLong reads the element and returns a 64-bit signed integer.
41.XmlReader.ReadElementContentAsObject reads the current element and returns the contents as an Object.
42.XmlReader.ReadElementContentAsString reads the element and returns the contents as a String object.
43.XmlReader.ReadElementString reads a text-only element.
44.XmlReader.ReadEndElement checks that the current content node is an end tag
45.XmlReader.ReadInnerXml reads all the content, including markup, as a string.
46.XmlReader.ReadSubtree reads the current node, and all its descendants.
47.XmlReader.ReadToDescendant advances XmlReader to the next descendant element with the specified qualified name.
48.XmlReader.ReadToNextSibling (String) advances XmlReader to next sibling element with specified qualified name.
49.XmlReader.Skip skips the children of the current node.
50.Get value as DateTime
51.Get Xml value as Integer
52.Get Xml value as TimeSpan
53.Convets the value in an XML element to a nullable DateTime