Export (0) Print
Expand All

XmlValidatingReader.Depth Property

Gets the depth of the current node in the XML document.

Namespace: System.Xml
Assembly: System.Xml (in system.xml.dll)

public override int Depth { get; }
/** @property */
public int get_Depth ()

public override function get Depth () : int

Not applicable.

Property Value

The depth of the current node in the XML document.

NoteNote:

The XmlValidatingReader class is obsolete in Microsoft .NET Framework version 2.0. You can create a validating XmlReader instance by using the XmlReaderSettings class and the Create method. For more information, see Validating XML Data with XmlReader.

The following example displays each node including its depth, line number, and line position.

using System;
using System.IO;
using System.Xml;

public class Sample{

  public static void Main(){

    // Create the XML fragment to be parsed.
    string xmlFrag  = 
    @"<book>
           <misc>
              <style>paperback</style>
              <pages>240</pages>
           </misc>
        </book>
    ";

    // Create the XmlNamespaceManager.
    XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable());

    // Create the XmlParserContext.
    XmlParserContext context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);

    // Create the reader.
    XmlValidatingReader reader = new XmlValidatingReader(xmlFrag, XmlNodeType.Element, context);

    IXmlLineInfo lineInfo = ((IXmlLineInfo)reader);
    if (lineInfo.HasLineInfo()){
       
      // Parse the XML and display each node.
      while (reader.Read()){
       switch (reader.NodeType){
         case XmlNodeType.Element:
           Console.Write("{0} {1},{2}  ", reader.Depth, lineInfo.LineNumber, lineInfo.LinePosition);
           Console.WriteLine("<{0}>", reader.Name);
           break;
         case XmlNodeType.Text:
           Console.Write("{0} {1},{2}  ", reader.Depth, lineInfo.LineNumber, lineInfo.LinePosition);
           Console.WriteLine("  {0}", reader.Value);
           break;
         case XmlNodeType.EndElement:
           Console.Write("{0} {1},{2}  ", reader.Depth, lineInfo.LineNumber, lineInfo.LinePosition);
           Console.WriteLine("</{0}>", reader.Name);
           break;
       }       
     }           
    }

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

import System.*;
import System.IO.*;
import System.Xml.*;

public class Sample
{
    public static void main(String[] args)
    {
        // Create the XML fragment to be parsed.
        String xmlFrag = "<book>\n" 
            + "           <misc>\n" 
            + "              <style>paperback</style>\n" 
            + "              <pages>240</pages>\n" 
            + "           </misc>\n" 
            + "        </book>" 
            + "    ";
        
        // Create the XmlNamespaceManager.
        XmlNamespaceManager nsMgr = new XmlNamespaceManager(new NameTable());

        // Create the XmlParserContext.
        XmlParserContext context = new XmlParserContext(null, nsMgr,
            null, XmlSpace.None);
        
        // Create the reader.
        XmlValidatingReader reader = new XmlValidatingReader(xmlFrag,
            XmlNodeType.Element, context);
        IXmlLineInfo lineInfo = (IXmlLineInfo)reader;

        if (lineInfo.HasLineInfo()) {
            // Parse the XML and display each node.
            while (reader.Read()) {
                switch (reader.get_NodeType()) {
                    case XmlNodeType.Element :
                        Console.Write("{0} {1},{2}  ", System.Convert.ToString(
                            reader.get_Depth()), System.Convert.ToString(
                            lineInfo.get_LineNumber()), System.Convert.
                            ToString(lineInfo.get_LinePosition()));
                        Console.WriteLine("<{0}>", reader.get_Name());
                        break;
    
                    case XmlNodeType.Text :
                        Console.Write("{0} {1},{2}  ", System.Convert.ToString(
                            reader.get_Depth()), System.Convert.ToString(
                            lineInfo.get_LineNumber()), System.Convert.
                            ToString(lineInfo.get_LinePosition()));
                        Console.WriteLine("  {0}", System.Convert.ToString(
                            reader.get_Value()));
                        break;

                    case XmlNodeType.EndElement :
                        Console.Write("{0} {1},{2}  ", System.Convert.ToString(
                            reader.get_Depth()), System.Convert.ToString(
                            lineInfo.get_LineNumber()), System.Convert.
                            ToString(lineInfo.get_LinePosition()));
                        Console.WriteLine("</{0}>", System.Convert.ToString(
                            reader.get_Name()));
                        break;
                }
            }
        }
        // Close the reader.
        reader.Close();
    } //main
} //Sample

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft