XmlTextReader::LineNumber Property
.NET Framework (current version)
Gets the current line number.
Assembly: System.Xml (in System.Xml.dll)
Implements
IXmlLineInfo::LineNumber Note |
|---|
Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader::Create method to take advantage of new functionality. |
This property is most commonly used for error reporting, but can be called at any time. The starting value for this property is 1.
Combined with LinePosition, a value of 1,1 indicates the start of the document.
The following example displays each node including its depth, line number, and line position.
#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(); }
.NET Framework
Available since 1.1
Available since 1.1
Show:
