IXmlLineInfo Gränssnitt
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Tillhandahåller ett gränssnitt för att aktivera en klass för att returnera rad- och positionsinformation.
public interface class IXmlLineInfo
public interface IXmlLineInfo
type IXmlLineInfo = interface
Public Interface IXmlLineInfo
- Härledda
Exempel
I följande exempel parsas ett XML-fragment. Varje nod visas, inklusive dess djup, linjenummer och linjeposition.
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
Egenskaper
| Name | Description |
|---|---|
| LineNumber |
Hämtar aktuellt radnummer. |
| LinePosition |
Hämtar aktuell linjeposition. |
Metoder
| Name | Description |
|---|---|
| HasLineInfo() |
Hämtar ett värde som anger om klassen kan returnera radinformation. |