IXmlLineInfo Antarmuka

Definisi

Menyediakan antarmuka untuk mengaktifkan kelas untuk mengembalikan informasi garis dan posisi.

public interface class IXmlLineInfo
public interface IXmlLineInfo
type IXmlLineInfo = interface
Public Interface IXmlLineInfo
Turunan

Contoh

Contoh berikut mengurai fragmen XML. Setiap simpul ditampilkan, termasuk kedalaman, nomor baris, dan posisi garisnya.

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();
  }
}
Imports System.IO
Imports System.Xml

public class Sample

  public shared sub Main()

    ' Create the XML fragment to be parsed.
    Dim xmlFrag as string = "<book>" + Chr(10) & _
                            "  <misc>"  + Chr(10) & _
                            "    <style>paperback</style>"  + Chr(10) & _
                            "    <pages>240</pages>" + Chr(10) & _
                            "  </misc>" + Chr(10) & _
                            "</book>"

    ' Create the XmlNamespaceManager.
    Dim nsmgr as XmlNamespaceManager = new XmlNamespaceManager(new NameTable())

    ' Create the XmlParserContext.
    Dim context as XmlParserContext = new XmlParserContext(nothing, nsmgr, nothing, XmlSpace.None)

    ' Create the reader.
    Dim reader as XmlValidatingReader = new XmlValidatingReader(xmlFrag, XmlNodeType.Element, context)

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

    ' Close the reader.
    reader.Close()     
  
  end sub
end class

Properti

Nama Deskripsi
LineNumber

Mendapatkan nomor baris saat ini.

LinePosition

Mendapatkan posisi baris saat ini.

Metode

Nama Deskripsi
HasLineInfo()

Mendapatkan nilai yang menunjukkan apakah kelas dapat mengembalikan informasi baris.

Berlaku untuk