Proprietà XmlTextReader.LinePosition (System.Xml)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Proprietà XmlTextReader.LinePosition

Ottiene la posizione corrente di riga.

Spazio dei nomi: System.Xml
Assembly: System.Xml (in system.xml.dll)

Sintassi

Visual Basic - (Dichiarazione)
Public ReadOnly Property LinePosition As Integer
Visual Basic (Utilizzo)
Dim instance As XmlTextReader
Dim value As Integer

value = instance.LinePosition

C#
public int LinePosition { get; }
C++
public:
virtual property int LinePosition {
	int get () sealed;
}
J#
/** @property */
public final int get_LinePosition ()

JScript
public final function get LinePosition () : int

Valore proprietà

Posizione corrente di riga.
Note

NotaNota

Nella versione Microsoft .NET Framework versione 2.0 è consigliabile creare istanze di XmlReader utilizzando il metodo System.Xml.XmlReader.Create. In questo modo è possibile sfruttare completamente le nuove funzionalità introdotte in questa versione. Per ulteriori informazioni, vedere Creazione di lettori XML.

Questa proprietà viene in genere utilizzata per la visualizzazione di informazioni sugli errori, ma può essere chiamata in qualsiasi momento. Il valore iniziale della proprietà è 1.

La posizione indicata corrisponde al primo carattere di testo nel codice.

 <root>
 abc<tag/>
 </root>

Nella prima riga del testo XML precedente, una LinePosition con valore 2 corrisponde al carattere r; nella seconda riga, una LinePosition con valore 5 corrisponde al carattere t; nella terza riga, una LinePosition con valore 3 corrisponde al carattere r.

In combinazione con la proprietà LineNumber, un valore 1,1 indica l'inizio del documento.

Esempio

Nell'esempio seguente viene mostrato ciascun nodo, inclusa la profondità, il numero di riga e la posizione della riga.

Visual Basic
Imports System
Imports System.IO
Imports System.Xml
Imports Microsoft.VisualBasic

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 nt as NameTable = new NameTable()
    Dim nsmgr as XmlNamespaceManager = new XmlNamespaceManager(nt)

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

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

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

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

C#
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.
    NameTable nt = new NameTable();
    XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);

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

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

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

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

C++
#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   
   // Create the XML fragment to be parsed.
   String^ xmlFrag = "<book>\n"
   "<misc>\n"
   "<style>paperback</style>\n"
   "<pages>240</pages>\n"
   "</misc>\n"
   "</book>\n";
   
   // Create the XmlNamespaceManager.
   NameTable^ nt = gcnew NameTable;
   XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager( nt );
   
   // Create the XmlParserContext.
   XmlParserContext^ context = gcnew XmlParserContext( nullptr,nsmgr,nullptr,XmlSpace::None );
   
   // Create the reader.
   XmlTextReader^ reader = gcnew XmlTextReader( xmlFrag,XmlNodeType::Element,context );
   
   // Parse the XML and display each node.
   while ( reader->Read() )
   {
      switch ( reader->NodeType )
      {
         case XmlNodeType::Element:
            Console::Write( " {0} {1}, {2}  ", reader->Depth, reader->LineNumber, reader->LinePosition );
            Console::WriteLine( "< {0}>", reader->Name );
            break;

         case XmlNodeType::Text:
            Console::Write( " {0} {1}, {2}  ", reader->Depth, reader->LineNumber, reader->LinePosition );
            Console::WriteLine( " {0}", reader->Value );
            break;

         case XmlNodeType::EndElement:
            Console::Write( " {0} {1}, {2}  ", reader->Depth, reader->LineNumber, reader->LinePosition );
            Console::WriteLine( "</ {0}>", reader->Name );
            break;
      }
   }

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


J#
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.
        NameTable nt = new NameTable();
        XmlNamespaceManager nsMgr = new XmlNamespaceManager(nt);
        // Create the XmlParserContext.
        XmlParserContext context = new XmlParserContext(null, nsMgr, null,
            XmlSpace.None);
        // Create the reader.
        XmlTextReader reader = new XmlTextReader(xmlFrag, XmlNodeType.Element,
            context);
        // 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(reader.
                        get_LineNumber()), System.Convert.ToString(reader.
                        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(reader.
                        get_LineNumber()), System.Convert.ToString(reader.
                        get_LinePosition()));
                    Console.WriteLine("  {0}", reader.get_Value());
                    break;

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

Piattaforme

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile per Pocket PC, Windows Mobile per Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

Informazioni sulla versione

.NET Framework

Supportato in: 2.0 1.1 1.0

.NET Compact Framework

Supportato in: 2.0 1.0
Vedere anche