XDocument.Load Methode

Definition

Erstellt eine neue XDocument aus einer datei, die durch einen URI, aus einem TextReaderoder aus einem .XmlReader

Überlädt

Name Beschreibung
Load(Stream)

Erstellt eine neue XDocument Instanz mithilfe des angegebenen Datenstroms.

Load(TextReader)

Erstellt ein neues XDocument aus einem TextReader.

Load(String)

Erstellt eine neue XDocument aus einer Datei.

Load(XmlReader)

Erstellt ein neues XDocument aus einem XmlReader.

Load(Stream, LoadOptions)

Erstellt eine neue XDocument Instanz mithilfe des angegebenen Datenstroms, optional unter Beibehaltung von Leerzeichen, Festlegen des Basis-URI und Aufbewahren von Zeileninformationen.

Load(TextReader, LoadOptions)

Erstellt ein neues Aus XDocument einem TextReader, optional beibehalten Leerzeichen, Festlegen des Basis-URI und Aufbewahren von Zeileninformationen.

Load(String, LoadOptions)

Erstellt eine neue XDocument Datei, optional wird Leerraum beibehalten, basis-URI festgelegt und Zeileninformationen beibehalten.

Load(XmlReader, LoadOptions)

Lädt einen XDocument Wert aus einem XmlReader, optional festlegen den Basis-URI und das Aufbewahren von Zeileninformationen.

Hinweise

Mit einer der Überladungen dieser Methode können Sie eine XDocument Datei, eine Datei, eine TextReaderoder eine .XmlReader

Verwenden Sie XDocumentzum Erstellen einer Parse Aus einer Zeichenfolge, die XML enthält.

Load(Stream)

Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs

Erstellt eine neue XDocument Instanz mithilfe des angegebenen Datenstroms.

public:
 static System::Xml::Linq::XDocument ^ Load(System::IO::Stream ^ stream);
public static System.Xml.Linq.XDocument Load(System.IO.Stream stream);
static member Load : System.IO.Stream -> System.Xml.Linq.XDocument
Public Shared Function Load (stream As Stream) As XDocument

Parameter

stream
Stream

Der Datenstrom, der die XML-Daten enthält.

Gibt zurück

Ein XDocument Objekt, das die Daten liest, die im Datenstrom enthalten sind.

Hinweise

Wenn Sie Ladeoptionen steuern möchten, verwenden Sie die Überladung, die Load als Parameter verwendet LoadOptions wird.

Die Ladefunktionalität von LINQ to XML basiert auf XmlReader. Daher können Sie ausnahmen erfassen, die von den XmlReader.Create Überladungsmethoden und den XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.

Wenn Sie ändern XmlReaderSettingsmüssen, führen Sie die folgenden Schritte aus:

  1. Erstellen Sie eine XmlReader durch Aufrufen einer der Überladungen, die Create als Parameter verwendet XmlReaderSettings werden.

  2. Übergeben Sie den XmlReader Wert an eine der Überladungen, die LoadXDocument als Parameter verwendet XmlReader werden.

Gilt für:

Load(TextReader)

Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs

Erstellt ein neues XDocument aus einem TextReader.

public:
 static System::Xml::Linq::XDocument ^ Load(System::IO::TextReader ^ textReader);
public static System.Xml.Linq.XDocument Load(System.IO.TextReader textReader);
static member Load : System.IO.TextReader -> System.Xml.Linq.XDocument
Public Shared Function Load (textReader As TextReader) As XDocument

Parameter

textReader
TextReader

A TextReader , das den Inhalt für die XDocument.

Gibt zurück

Eine XDocument , die den Inhalt der angegebenen TextReader.

Beispiele

Im folgenden Beispiel wird ein Dokument aus einem StringReader.

TextReader tr = new StringReader("<Root>Content</Root>");
XDocument doc = XDocument.Load(tr);
Console.WriteLine(doc);
Dim tr As TextReader = New StringReader("<Root>Content</Root>")
Dim doc As XDocument = XDocument.Load(tr)
Console.WriteLine(doc)

Dieses Beispiel erzeugt die folgende Ausgabe:

<Root>Content</Root>

Hinweise

LINQ to XML-Ladefunktionalität basiert auf XmlReader. Daher können Sie ausnahmen erfassen, die von den XmlReader.Create Überladungsmethoden und den XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.

Weitere Informationen

Gilt für:

Load(String)

Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs

Erstellt eine neue XDocument aus einer Datei.

public:
 static System::Xml::Linq::XDocument ^ Load(System::String ^ uri);
public static System.Xml.Linq.XDocument Load(string uri);
static member Load : string -> System.Xml.Linq.XDocument
Public Shared Function Load (uri As String) As XDocument

Parameter

uri
String

Eine URI-Zeichenfolge, die auf die Datei verweist, die in ein neues XDocumentgeladen werden soll.

Gibt zurück

Eine XDocument , die den Inhalt der angegebenen Datei enthält.

Beispiele

Das folgende Beispiel zeigt, wie eine XDocument Datei geladen wird.

In diesem Beispiel wird das folgende XML-Dokument verwendet:

XML-Beispieldatei: Typische Bestellung (LINQ to XML)

XDocument doc = XDocument.Load("PurchaseOrder.xml");
Console.WriteLine(doc);
Dim doc As XDocument = XDocument.Load("PurchaseOrder.xml")
Console.WriteLine(doc)

Dieses Beispiel erzeugt die folgende Ausgabe:

<PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20">
  <Address Type="Shipping">
    <Name>Ellen Adams</Name>
    <Street>123 Maple Street</Street>
    <City>Mill Valley</City>
    <State>CA</State>
    <Zip>10999</Zip>
    <Country>USA</Country>
  </Address>
  <Address Type="Billing">
    <Name>Tai Yee</Name>
    <Street>8 Oak Avenue</Street>
    <City>Old Town</City>
    <State>PA</State>
    <Zip>95819</Zip>
    <Country>USA</Country>
  </Address>
  <DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes>
  <Items>
    <Item PartNumber="872-AA">
      <ProductName>Lawnmower</ProductName>
      <Quantity>1</Quantity>
      <USPrice>148.95</USPrice>
      <Comment>Confirm this is electric</Comment>
    </Item>
    <Item PartNumber="926-AA">
      <ProductName>Baby Monitor</ProductName>
      <Quantity>2</Quantity>
      <USPrice>39.98</USPrice>
      <ShipDate>1999-05-21</ShipDate>
    </Item>
  </Items>
</PurchaseOrder>

Hinweise

Diese Methode verwendet eine zugrunde liegende XmlReader Methode, um den XML-Code in eine XML-Struktur zu lesen.

Dient Parse zum Erstellen einer XDocument Aus einer Zeichenfolge, die XML enthält.

LINQ to XML-Ladefunktionalität basiert auf XmlReader. Daher können Sie ausnahmen erfassen, die von den XmlReader.Create Überladungsmethoden und den XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.

Weitere Informationen

Gilt für:

Load(XmlReader)

Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs

Erstellt ein neues XDocument aus einem XmlReader.

public:
 static System::Xml::Linq::XDocument ^ Load(System::Xml::XmlReader ^ reader);
public static System.Xml.Linq.XDocument Load(System.Xml.XmlReader reader);
static member Load : System.Xml.XmlReader -> System.Xml.Linq.XDocument
Public Shared Function Load (reader As XmlReader) As XDocument

Parameter

reader
XmlReader

A XmlReader , das den Inhalt für die XDocument.

Gibt zurück

Eine XDocument , die den Inhalt der angegebenen XmlReader.

Beispiele

Im folgenden Beispiel wird ein DOM-Dokument erstellt, ein XmlNodeReader aus dem DOM-Dokument erstellt, eine XDocument mithilfe der XmlNodeReader.

// Create a DOM document with some content.
XmlDocument doc = new XmlDocument();
XmlElement child = doc.CreateElement("Child");
child.InnerText = "child contents";
XmlElement root = doc.CreateElement("Root");
root.AppendChild(child);
doc.AppendChild(root);

// create a reader and move to the content
using (XmlNodeReader nodeReader = new XmlNodeReader(doc)) {
    // the reader must be in the Interactive state in order to
    // create a LINQ to XML tree from it.
    nodeReader.MoveToContent();

    XDocument xRoot = XDocument.Load(nodeReader);
    Console.WriteLine(xRoot);
}
' Create a DOM document with some content.
Dim doc As XmlDocument = New XmlDocument()
Dim child As XmlElement = doc.CreateElement("Child")
child.InnerText = "child contents"
Dim root As XmlElement = doc.CreateElement("Root")
root.AppendChild(child)
doc.AppendChild(root)

' create a reader and move to the content
Using nodeReader = New XmlNodeReader(doc)
    ' the reader must be in the Interactive state in order to
    ' create a LINQ to XML tree from it.
    nodeReader.MoveToContent()

    Dim xRoot As XDocument = XDocument.Load(nodeReader)
    Console.WriteLine(xRoot)
End Using

Dieses Beispiel erzeugt die folgende Ausgabe:

<Root>
  <Child>child contents</Child>
</Root>

Hinweise

Eine mögliche Verwendung für diese Methode besteht darin, eine Kopie eines DOM-Dokuments in einer LINQ to XML-Struktur zu erstellen. Dazu erstellen Sie ein XmlNodeReader AUS einem DOM-Dokument und erstellen dann ein XmlNodeReaderXDocument.

LINQ to XML-Ladefunktionalität basiert auf XmlReader. Daher können Sie ausnahmen erfassen, die von den XmlReader.Create Überladungsmethoden und den XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.

Weitere Informationen

Gilt für:

Load(Stream, LoadOptions)

Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs

Erstellt eine neue XDocument Instanz mithilfe des angegebenen Datenstroms, optional unter Beibehaltung von Leerzeichen, Festlegen des Basis-URI und Aufbewahren von Zeileninformationen.

public:
 static System::Xml::Linq::XDocument ^ Load(System::IO::Stream ^ stream, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XDocument Load(System.IO.Stream stream, System.Xml.Linq.LoadOptions options);
static member Load : System.IO.Stream * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XDocument
Public Shared Function Load (stream As Stream, options As LoadOptions) As XDocument

Parameter

stream
Stream

Der Datenstrom, der die XML-Daten enthält.

options
LoadOptions

Ein LoadOptions Wert, der angibt, ob Basis-URI und Zeileninformationen geladen werden sollen.

Gibt zurück

Ein XDocument Objekt, das die Daten liest, die im Datenstrom enthalten sind.

Hinweise

Die Ladefunktionalität von LINQ to XML basiert auf XmlReader. Daher können Sie ausnahmen erfassen, die von den XmlReader.Create Überladungsmethoden und den XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.

Wenn Sie ändern XmlReaderSettingsmüssen, führen Sie die folgenden Schritte aus:

  1. Erstellen Sie eine XmlReader durch Aufrufen einer der Überladungen, die Create als Parameter verwendet XmlReaderSettings werden.

  2. Übergeben Sie den XmlReader Wert an eine der Überladungen, die LoadXDocument als Parameter verwendet XmlReader werden.

Gilt für:

Load(TextReader, LoadOptions)

Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs

Erstellt ein neues Aus XDocument einem TextReader, optional beibehalten Leerzeichen, Festlegen des Basis-URI und Aufbewahren von Zeileninformationen.

public:
 static System::Xml::Linq::XDocument ^ Load(System::IO::TextReader ^ textReader, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XDocument Load(System.IO.TextReader textReader, System.Xml.Linq.LoadOptions options);
static member Load : System.IO.TextReader * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XDocument
Public Shared Function Load (textReader As TextReader, options As LoadOptions) As XDocument

Parameter

textReader
TextReader

A TextReader , das den Inhalt für die XDocument.

options
LoadOptions

Ein LoadOptions Wert, der das Leerzeichenverhalten angibt und ob Basis-URI und Zeileninformationen geladen werden sollen.

Gibt zurück

Eine XDocument , die den XML-Code enthält, der aus dem angegebenen TextReaderText gelesen wurde.

Beispiele

Im folgenden Beispiel wird ein Dokument aus einem StringReader.

TextReader sr;
int whiteSpaceNodes;

sr = new StringReader("<Root> <Child> </Child> </Root>");
XDocument xmlTree1 = XDocument.Load(sr, LoadOptions.None);
sr.Close();
whiteSpaceNodes = xmlTree1
    .Element("Root")
    .DescendantNodesAndSelf()
    .OfType<XText>()
    .Where(tNode => tNode.ToString().Trim().Length == 0)
    .Count();
Console.WriteLine("Count of white space nodes (not preserving whitespace): {0}", whiteSpaceNodes);

sr = new StringReader("<Root> <Child> </Child> </Root>");
XDocument xmlTree2 = XDocument.Load(sr, LoadOptions.PreserveWhitespace);
sr.Close();
whiteSpaceNodes = xmlTree2
    .Element("Root")
    .DescendantNodesAndSelf()
    .OfType<XText>()
    .Where(tNode => tNode.ToString().Trim().Length == 0)
    .Count();
Console.WriteLine("Count of white space nodes (preserving whitespace): {0}", whiteSpaceNodes);
Dim sr As TextReader
Dim whiteSpaceNodes As Integer

sr = New StringReader("<Root> <Child> </Child> </Root>")
Dim xmlTree1 As XDocument = XDocument.Load(sr, LoadOptions.None)
sr.Close()
whiteSpaceNodes = xmlTree1 _
              .Element("Root") _
              .DescendantNodesAndSelf() _
              .OfType(Of XText)() _
              .Where(Function(ByVal tNode As XNode) tNode. _
                  ToString().Trim().Length = 0).Count()
Console.WriteLine("Count of white space nodes (not preserving whitespace): {0}", whiteSpaceNodes)

sr = New StringReader("<Root> <Child> </Child> </Root>")
Dim xmlTree2 As XDocument = XDocument.Load(sr, LoadOptions.PreserveWhitespace)
sr.Close()
whiteSpaceNodes = xmlTree2 _
              .Element("Root") _
              .DescendantNodesAndSelf() _
              .OfType(Of XText)() _
              .Where(Function(ByVal tNode As XNode) tNode. _
                  ToString().Trim().Length = 0).Count()
Console.WriteLine("Count of white space nodes (preserving whitespace): {0}", whiteSpaceNodes)

Dieses Beispiel erzeugt die folgende Ausgabe:

Count of white space nodes (not preserving whitespace): 0
Count of white space nodes (preserving whitespace): 3

Hinweise

Wenn der Quell-XML-Code eingerückt ist, bewirkt das Festlegen des PreserveWhitespace Flags options , dass der Leser den gesamten Leerraum im Quell-XML-Code liest. Knoten des Typs XText werden sowohl für signifikante als auch für unbedeutende Leerräume erstellt.

Wenn der Quell-XML-Code eingerückt ist, wird das PreserveWhitespace Flag options nicht festgelegt, wodurch der Leser den gesamten unbedeutenden Leerraum im Quell-XML-Code ignoriert. Die XML-Struktur wird ohne Textknoten für unbedeuteten Leerraum erstellt.

Wenn der Quell-XML-Code nicht eingerückt ist, hat das Festlegen des PreserveWhitespace Flags options keine Auswirkung. Erheblicher Leerraum bleibt erhalten, und es gibt keine Spanne von unbedeutenden Leerzeichen, die die Erstellung von mehr Leerraum-Textknoten verursachen könnten.

Weitere Informationen finden Sie unter Beibehalten des Leerraums beim Laden oder Analysieren von XML und Beibehalten von Leerzeichen beim Serialisieren.

Dient Parse zum Erstellen einer XElement Aus einer Zeichenfolge, die XML enthält.

Die Einstellung SetBaseUri ist beim Laden aus einem TextReader.

Es gibt eine Leistungseinbuße, wenn Sie die SetLineInfo Kennzeichnung festlegen.

Die Zeileninformationen sind unmittelbar nach dem Laden des XML-Dokuments genau. Wenn Sie die XML-Struktur nach dem Laden des Dokuments ändern, können die Zeileninformationen bedeutungslos werden.

LINQ to XML-Ladefunktionalität basiert auf XmlReader. Daher können Sie ausnahmen erfassen, die von den XmlReader.Create Überladungsmethoden und den XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.

Weitere Informationen

Gilt für:

Load(String, LoadOptions)

Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs

Erstellt eine neue XDocument Datei, optional wird Leerraum beibehalten, basis-URI festgelegt und Zeileninformationen beibehalten.

public:
 static System::Xml::Linq::XDocument ^ Load(System::String ^ uri, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XDocument Load(string uri, System.Xml.Linq.LoadOptions options);
static member Load : string * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XDocument
Public Shared Function Load (uri As String, options As LoadOptions) As XDocument

Parameter

uri
String

Eine URI-Zeichenfolge, die auf die Datei verweist, die in ein neues XDocumentgeladen werden soll.

options
LoadOptions

Ein LoadOptions Wert, der das Leerzeichenverhalten angibt und ob Basis-URI und Zeileninformationen geladen werden sollen.

Gibt zurück

Eine XDocument , die den Inhalt der angegebenen Datei enthält.

Beispiele

Das folgende Beispiel zeigt, wie eine XDocument Datei geladen wird.

In diesem Beispiel wird das folgende XML-Dokument verwendet:

XML-Beispieldatei: Typische Bestellung (LINQ to XML)

XDocument doc1 = XDocument.Load("PurchaseOrder.xml", LoadOptions.None);
Console.WriteLine("nodes if not preserving whitespace: {0}", doc1.DescendantNodes().Count());

XDocument doc2 = XDocument.Load("PurchaseOrder.xml", LoadOptions.PreserveWhitespace);
Console.WriteLine("nodes if preserving whitespace: {0}", doc2.DescendantNodes().Count());
Dim doc1 As XDocument = XDocument.Load("PurchaseOrder.xml", LoadOptions.None)
Console.WriteLine("nodes if not preserving whitespace: {0}", doc1.DescendantNodes().Count())

Dim doc2 As XDocument = XDocument.Load("PurchaseOrder.xml", LoadOptions.PreserveWhitespace)
Console.WriteLine("nodes if preserving whitespace: {0}", doc2.DescendantNodes().Count())

Dieses Beispiel erzeugt die folgende Ausgabe:

nodes if not preserving whitespace: 48
nodes if preserving whitespace: 82

Hinweise

Wenn der Quell-XML-Code eingerückt ist, bewirkt das Festlegen des PreserveWhitespace Flags options , dass der Leser den gesamten Leerraum im Quell-XML-Code liest. Knoten des Typs XText werden sowohl für signifikante als auch für unbedeutende Leerräume erstellt.

Wenn der Quell-XML-Code eingerückt ist, wird das PreserveWhitespace Flag options nicht festgelegt, wodurch der Leser den gesamten unbedeutenden Leerraum im Quell-XML-Code ignoriert. Die XML-Struktur wird ohne Textknoten für unbedeuteten Leerraum erstellt.

Wenn der Quell-XML-Code nicht eingerückt ist, hat das Festlegen des PreserveWhitespace Flags options keine Auswirkung. Erheblicher Leerraum bleibt erhalten, und es gibt keine Spanne von unbedeutenden Leerzeichen, die die Erstellung von mehr Leerraum-Textknoten verursachen könnten.

Weitere Informationen finden Sie unter Beibehalten des Leerraums beim Laden oder Analysieren von XML und Beibehalten von Leerzeichen beim Serialisieren.

Dient Parse zum Erstellen einer XDocument Aus einer Zeichenfolge, die XML enthält.

Es gibt eine Leistungseinbuße, wenn Sie die SetBaseUri Kennzeichnungen und die SetLineInfo Kennzeichnungen festlegen.

Der Basis-URI und die Zeileninformationen sind unmittelbar nach dem Laden des XML-Dokuments genau. Wenn Sie die XML-Struktur nach dem Laden des Dokuments ändern, können die Basis-URI und Zeileninformationen bedeutungslos werden.

LINQ to XML-Ladefunktionalität basiert auf XmlReader. Daher können Sie ausnahmen erfassen, die von den XmlReader.Create Überladungsmethoden und den XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.

Weitere Informationen

Gilt für:

Load(XmlReader, LoadOptions)

Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs
Quelle:
XDocument.cs

Lädt einen XDocument Wert aus einem XmlReader, optional festlegen den Basis-URI und das Aufbewahren von Zeileninformationen.

public:
 static System::Xml::Linq::XDocument ^ Load(System::Xml::XmlReader ^ reader, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XDocument Load(System.Xml.XmlReader reader, System.Xml.Linq.LoadOptions options);
static member Load : System.Xml.XmlReader * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XDocument
Public Shared Function Load (reader As XmlReader, options As LoadOptions) As XDocument

Parameter

reader
XmlReader

EineXmlReader, die für den Inhalt der .XDocument

options
LoadOptions

Ein LoadOptions Wert, der angibt, ob Basis-URI und Zeileninformationen geladen werden sollen.

Gibt zurück

Eine XDocument , die den XML-Code enthält, der aus dem angegebenen XmlReaderText gelesen wurde.

Beispiele

Im folgenden Beispiel werden die Zeileninformationen geladen, die sie aus dem XmlReader. Anschließend werden die Zeileninformationen gedruckt.

string markup =
@"<Root>
    <Child>
        <GrandChild/>
    </Child>
</Root>";

// Create a reader and move to the content.
using (XmlReader nodeReader = XmlReader.Create(new StringReader(markup)))
{
    // the reader must be in the Interactive state in order to
    // Create a LINQ to XML tree from it.
    nodeReader.MoveToContent();

    XDocument xRoot = XDocument.Load(nodeReader, LoadOptions.SetLineInfo);
    Console.WriteLine("{0}{1}{2}",
        "Element Name".PadRight(20),
        "Line".PadRight(5),
        "Position");
    Console.WriteLine("{0}{1}{2}",
        "------------".PadRight(20),
        "----".PadRight(5),
        "--------");
    foreach (XElement e in xRoot.Elements("Root").DescendantsAndSelf())
        Console.WriteLine("{0}{1}{2}",
            ("".PadRight(e.Ancestors().Count() * 2) + e.Name).PadRight(20),
            ((IXmlLineInfo)e).LineNumber.ToString().PadRight(5),
            ((IXmlLineInfo)e).LinePosition);
}
Dim markup As String = _
    "<Root>" & Environment.NewLine & _
    "    <Child>" & Environment.NewLine & _
    "        <GrandChild/>" & Environment.NewLine & _
    "    </Child>" & Environment.NewLine & _
    "</Root>"

' Create a reader and move to the content.
Using nodeReader As XmlReader = XmlReader.Create(New StringReader(markup))

    ' The reader must be in the Interactive state in order to
    ' create a LINQ to XML tree from it.
    nodeReader.MoveToContent()

    Dim xRoot As XDocument = XDocument.Load(nodeReader, LoadOptions.SetLineInfo)
    Console.WriteLine("{0}{1}{2}", _
        "Element Name".PadRight(20), _
        "Line".PadRight(5), _
        "Position")
    Console.WriteLine("{0}{1}{2}", _
        "------------".PadRight(20), _
        "----".PadRight(5), _
        "--------")
    For Each e As XElement In xRoot.Elements("Root").DescendantsAndSelf()
        Console.WriteLine("{0}{1}{2}", _
            ("".PadRight(e.Ancestors().Count() * 2) & e.Name.ToString()).PadRight(20), _
            (DirectCast(e, IXmlLineInfo)).LineNumber.ToString().PadRight(5), _
            (DirectCast(e, IXmlLineInfo)).LinePosition)
    Next
End Using

Dieses Beispiel erzeugt die folgende Ausgabe:

Element Name        Line Position
------------        ---- --------
Root                1    2
  Child             2    6
    GrandChild      3    10

Hinweise

Wenn Sie ein XmlNodeReader DOM-Dokument erstellen und dann XmlNodeReader eine XElementDOM-Struktur erstellen, kann diese Methode verwendet werden, um eine Kopie eines DOM-Dokuments in einer LINQ to XML-Struktur zu erstellen.

Dient Parse zum Erstellen einer XDocument Aus einer Zeichenfolge, die XML enthält.

Die Einstellung PreserveWhitespace ist beim Laden aus einem XmlReader. Die XmlReader Konfiguration erfolgt entweder für das Lesen von Leerzeichen oder nicht. Die LINQ to XML-Struktur wird mit den Leerzeichenknoten aufgefüllt, die der Leser anzeigt. Dies ist das Verhalten, unabhängig davon, ob PreserveWhitespace festgelegt wird oder nicht.

Möglicherweise verfügt der XmlReader Basis-URI über einen gültigen Basis-URI. Wenn Sie festlegen SetBaseUri, wird der Basis-URI in der XML-Struktur aus dem Basis-URI festgelegt, der von der XmlReader.

Möglicherweise XmlReader verfügen sie über gültige Zeileninformationen oder nicht. Wenn Sie festlegen SetLineInfo, werden die Zeileninformationen in der XML-Struktur aus den Zeileninformationen festgelegt, die von der XmlReader.

Es gibt eine Leistungseinbuße, wenn Sie die SetLineInfo Kennzeichnung festlegen.

Die Zeileninformationen sind unmittelbar nach dem Laden des XML-Dokuments genau. Wenn Sie die XML-Struktur nach dem Laden des Dokuments ändern, können die Zeileninformationen bedeutungslos werden.

LINQ to XML-Ladefunktionalität basiert auf XmlReader. Daher können Sie ausnahmen erfassen, die von den XmlReader.Create Überladungsmethoden und den XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.

Weitere Informationen

Gilt für: