IXmlLineInfo.LinePosition Property
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Gets the current line position.
Namespace: System.Xml
Assembly: System.Xml (in System.Xml.dll)
Syntax
'Declaration
ReadOnly Property LinePosition As Integer
int LinePosition { get; }
Property Value
Type: System.Int32
The current line position or 0 if no line information is available (for example, HasLineInfo returns false).
Remarks
This property is used primarily for error reporting, but can be called at any time. The starting value is 1. Combined with LineNumber, a value of 1,1 indicates the start of a document.
Examples
' Create the XML fragment to be parsed.
Dim xmlFrag As String = _
"<book>" & _
"<misc>" & _
"<style>paperback</style>" & _
"<pages>240</pages>" & _
"</misc>" & _
"</book>"
' Create the XmlNamespaceManager.
Dim nsmgr As XmlNamespaceManager = New XmlNamespaceManager(New NameTable())
' Create the XmlParserContext.
Dim context As New XmlParserContext(Nothing, nsmgr, Nothing, XmlSpace.None)
Dim output As New StringBuilder()
' Create the reader.
Using reader As XmlReader = XmlReader.Create(New StringReader(xmlFrag), Nothing, context)
Dim lineInfo As IXmlLineInfo = CType(reader, IXmlLineInfo)
If lineInfo.HasLineInfo() Then
' Parse the XML and display each node.
While reader.Read()
Select Case reader.NodeType
Case XmlNodeType.Element
output.Append(reader.Depth.ToString() + " " + _
lineInfo.LineNumber.ToString() + ", " + _
lineInfo.LinePosition.ToString())
output.AppendLine("<" + reader.Name + ">")
Case XmlNodeType.Text
output.Append(reader.Depth.ToString() + " " + _
lineInfo.LineNumber.ToString() + ", " + _
lineInfo.LinePosition.ToString())
output.AppendLine(" " + reader.Value)
Case XmlNodeType.EndElement
output.Append(reader.Depth.ToString() + " " + _
lineInfo.LineNumber.ToString() + ", " + _
lineInfo.LinePosition.ToString())
output.AppendLine("</" + reader.Name + ">")
End Select
End While
End If
End Using
' Display the output to the TextBlock control
OutputTextBlock.Text = output.ToString()
// 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);
StringBuilder output = new StringBuilder();
// Create the reader.
using (XmlReader reader = XmlReader.Create(new StringReader(xmlFrag), null, context))
{
IXmlLineInfo lineInfo = ((IXmlLineInfo)reader);
if (lineInfo.HasLineInfo())
{
// Parse the XML and display each node.
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
output.Append(reader.Depth + " " +
lineInfo.LineNumber + ", " +
lineInfo.LinePosition);
output.AppendLine("<" + reader.Name + ">");
break;
case XmlNodeType.Text:
output.Append(reader.Depth + " " +
lineInfo.LineNumber + ", " +
lineInfo.LinePosition);
output.AppendLine(" " + reader.Value);
break;
case XmlNodeType.EndElement:
output.Append(reader.Depth + " " +
lineInfo.LineNumber + ", " +
lineInfo.LinePosition);
output.AppendLine("</" + reader.Name + ">");
break;
}
}
}
// Close the reader.
}
// Display the output to the TextBlock control
OutputTextBlock.Text = output.ToString();
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.