Illustrates the XmlTextReader class : XML Read : XML C# Source Code


Custom Search

C# Source Code » XML » XML Read »

 

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();
        xd.Load(xtr);

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

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

        // close the reader
        xtr.Close();
    }

}

//File: Cust4.xml

/*
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="Cust.xsl"?>
<NewDataSet>
    <Customers>
        <CustomerID>ALFKI</CustomerID>
        <CompanyName>Alfreds Futterkiste</CompanyName>
        <ContactName>Maria Anders</ContactName>
        <ContactTitle>Sales Representative</ContactTitle>
        <Address>Obere Str. 57</Address>
        <City>Berlin</City>
        <PostalCode>12209</PostalCode>
        <Country>Germany</Country>
        <Phone>030-0074321</Phone>
        <Fax>030-0076545</Fax>
    </Customers>
    <Customers>
        <CustomerID>BONAP</CustomerID>
        <CompanyName>app</CompanyName>
        <ContactName>Laurence Lebihan</ContactName>
        <ContactTitle>Owner</ContactTitle>
        <Address>12, rue des Bouchers</Address>
        <City>Marseille</City>
        <PostalCode>13008</PostalCode>
        <Country>France</Country>
        <Phone>91.24.45.40</Phone>
        <Fax>91.24.45.41</Fax>
    </Customers>
</NewDataSet>

*/

           
       
    
   
  
   







HTML code for linking to this page:

Follow Navioo On Twitter

C# Source Code

 Navioo XML
» XML Read