Home
Browse all 647 examples
Download all 647 examples
Download sample chapters
Reviews
Errata
Acknowledgments
Links on .NET
Paradoxal Press

Buy directly from Paradoxal Press at $33.99 (Save 43%)



Category: Programming
Level: Beginner to seasoned
900 pages
ISBN-10 097661322-0
ISBN-13 978-097661322-0
$59.99 USA
$79.99 CANADA


Listing 21-10 extracted from chapter XML


Listing 21-9<     > Listing 21-11


This listing can be compiled with the command line:
csc.exe /target:exe Example_21_10.cs
Errors: 0 Warnings: 0


Example_21_10.cs
using System;
using System.Xml;
using System.Xml.XPath;
class Program {
   static void Main() {
      XPathDocument doc = new XPathDocument(@"C:\books.xml");
      XPathNavigator navigator = doc.CreateNavigator();
      navigator.MoveToRoot();
      DisplayRecursive(navigator, string.Empty);
   }
   static public void DisplayRecursive(XPathNavigator navigator, 
                                       string indent) {
      if ( navigator.HasChildren ) {
         navigator.MoveToFirstChild();
         DisplayNode(navigator,indent+"   ");
         DisplayRecursive(navigator, indent + "   ");
         navigator.MoveToParent();
      }
      while ( navigator.MoveToNext() ) {
         DisplayNode( navigator, indent );
         DisplayRecursive( navigator, indent );
      }
   }
   static private void DisplayNode(XPathNavigator navigator,string indent){
      if (navigator.NodeType == XPathNodeType.Text)
         Console.WriteLine(indent+navigator.Value);
      else if (navigator.Name != String.Empty)
         Console.WriteLine(indent + "<" + navigator.Name + ">");
   }
}	
Copyright Patrick Smacchia 2006 2007