Freigeben über


XDocument.Load Methode

Definition

Erstellt ein neues XDocument aus einer mit einem URI angegebenen Datei, aus einem TextReader oder aus einem XmlReader.

Überlädt

Load(Stream)

Erstellt mit dem angegebenen Stream eine neue XDocument-Instanz.

Load(TextReader)

Erstellt ein neues XDocument aus einem TextReader.

Load(String)

Erstellt ein neues XDocument aus einer Datei.

Load(XmlReader)

Erstellt ein neues XDocument aus einem XmlReader.

Load(Stream, LoadOptions)

Erstellt mithilfe des angegebenen Streams eine neue XDocument-Instanz, wobei optional Leerraum und Zeileninformationen beibehalten werden und der Basis-URI festgelegt wird.

Load(TextReader, LoadOptions)

Erstellt ein neues XDocument aus einem TextReader, wobei optional Leerraum und Zeileninformationen beibehalten werden und der Basis-URI festgelegt wird.

Load(String, LoadOptions)

Erstellt ein neues XDocument aus einer Datei, wobei optional Leerraum und Zeileninformationen beibehalten werden und der Basis-URI festgelegt wird.

Load(XmlReader, LoadOptions)

Lädt ein XDocument aus einem XmlReader, wobei optional der Basis-URI festgelegt wird und die Zeileninformationen beibehalten werden.

Hinweise

Mithilfe einer der Überladungen dieser Methode können Sie eine XDocument Datei, eine datei, eine oder eine TextReaderladen XmlReader.

Verwenden Sie die VerwendungParse, um eine XDocument Zeichenfolge aus einer Zeichenfolge zu erstellen, die XML enthält.

Load(Stream)

Erstellt mit dem angegebenen Stream eine neue XDocument-Instanz.

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 Stream, der die XML-Daten enthält.

Gibt zurück

XDocument

Ein XDocument-Objekt, mit dem die im Stream enthaltenen Daten gelesen werden.

Hinweise

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

Die Ladefunktionalität von LINQ to XML basiert auf XmlReader. Daher können Sie ausnahmen abfangen, die von den XmlReader.Create Überladungsmethoden und den Methoden ausgelöst werden, die XmlReader 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 Create Überladungen, die als Parameter verwendet werden XmlReaderSettings .

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

Gilt für

Load(TextReader)

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

Ein TextReader, der den Inhalt für das XDocument enthält.

Gibt zurück

XDocument

Ein XDocument mit dem Inhalt des angegebenen TextReader.

Beispiele

Im folgenden Beispiel wird ein Dokument aus einer 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

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

Siehe auch

Gilt für

Load(String)

Erstellt ein neues 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 XDocument geladen werden soll.

Gibt zurück

XDocument

Ein XDocument mit dem Inhalt der angegebenen Datei.

Beispiele

Im folgenden Beispiel wird gezeigt, wie eine XDocument Datei geladen wird.

In diesem Beispiel wird das folgende XML-Dokument verwendet:

Beispiel-XML-Datei: 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.

Verwenden Sie Parse zum Erstellen einer XDocument Zeichenfolge, die XML enthält.

LINQ to XML Ladefunktionen werden erstelltXmlReader. Daher können Sie ausnahmen erfassen, die durch die Überladungsmethoden und die XmlReader.Create XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.

Siehe auch

Gilt für

Load(XmlReader)

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

Ein XmlReader, der den Inhalt für das XDocument enthält.

Gibt zurück

XDocument

Ein XDocument mit dem Inhalt des angegebenen XmlReader.

Beispiele

Im folgenden Beispiel wird ein DOM-Dokument erstellt, ein XmlNodeReader DOM-Dokument erstellt, eine XDocument Verwendung XmlNodeReadererstellt.

// 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 DOM-Dokument, und erstellen Sie dann eine XmlNodeReader XDocument.

LINQ to XML Ladefunktionen werden erstelltXmlReader. Daher können Sie ausnahmen erfassen, die durch die Überladungsmethoden und die XmlReader.Create XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.

Siehe auch

Gilt für

Load(Stream, LoadOptions)

Erstellt mithilfe des angegebenen Streams eine neue XDocument-Instanz, wobei optional Leerraum und Zeileninformationen beibehalten werden und der Basis-URI festgelegt wird.

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 Stream, der die XML-Daten enthält.

options
LoadOptions

Ein LoadOptions, das angibt, ob Basis-URI- und Zeileninformationen geladen werden.

Gibt zurück

XDocument

Ein XDocument-Objekt, mit dem die im Stream enthaltenen Daten gelesen werden.

Hinweise

Die Ladefunktionalität von LINQ to XML ist auf dem XmlReaderAufbau aufgebaut. Daher können Sie ausnahmen erfassen, die durch die Überladungsmethoden und die XmlReader.Create 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 durch Aufrufen einer XmlReader der Überladungen, die Create als Parameter verwendet XmlReaderSettings werden.

  2. Übergeben Sie die Überladungen an eine der Load ÜberladungenXDocument, die XmlReader als Parameter verwendet XmlReader werden.

Gilt für

Load(TextReader, LoadOptions)

Erstellt ein neues XDocument aus einem TextReader, wobei optional Leerraum und Zeileninformationen beibehalten werden und der Basis-URI festgelegt wird.

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

Ein TextReader, der den Inhalt für das XDocument enthält.

options
LoadOptions

Ein LoadOptions, das Leerraumverhalten angibt und festlegt, ob Basis-URI- und Zeileninformationen geladen werden.

Gibt zurück

XDocument

Ein XDocument mit dem XML, das aus dem angegebenen TextReader gelesen wurde.

Beispiele

Im folgenden Beispiel wird ein Dokument aus einer 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 die Quell-XML eingerückt ist, führt das Festlegen PreserveWhitespace des Flags options dazu, dass der Leser alle Leerzeichen in der Quell-XML liest. Knoten des Typs XText werden sowohl für erhebliche als auch unbedeutende Leerräume erstellt.

Wenn die Quell-XML eingerückt ist, wird das Flag options nicht festgelegtPreserveWhitespace, wodurch der Leser alle unbedeutenden Leerzeichen in der Quell-XML ignoriert. Die XML-Struktur wird ohne Textknoten für unbedeutende Leerzeichen erstellt.

Wenn die Quell-XML nicht eingerückt ist, hat das Festlegen des PreserveWhitespace Flags options keine Auswirkung. Erhebliche Leerzeichen bleiben weiterhin erhalten, und es gibt keine Spannen von unbedeutenden Leerzeichen, die die Erstellung von mehr Leerraumtextknoten verursachen könnten.

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

Verwenden Sie Parse zum Erstellen einer XElement Zeichenfolge, die XML enthält.

Die Einstellung SetBaseUri ist beim Laden von einer TextReader.

Es gibt eine Leistungsstrafe, wenn Sie das SetLineInfo Flag 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 Ladefunktionen werden erstelltXmlReader. Daher können Sie ausnahmen erfassen, die durch die Überladungsmethoden und die XmlReader.Create XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.

Siehe auch

Gilt für

Load(String, LoadOptions)

Erstellt ein neues XDocument aus einer Datei, wobei optional Leerraum und Zeileninformationen beibehalten werden und der Basis-URI festgelegt wird.

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 XDocument geladen werden soll.

options
LoadOptions

Ein LoadOptions, das Leerraumverhalten angibt und festlegt, ob Basis-URI- und Zeileninformationen geladen werden.

Gibt zurück

XDocument

Ein XDocument mit dem Inhalt der angegebenen Datei.

Beispiele

Im folgenden Beispiel wird gezeigt, wie eine XDocument Datei geladen wird.

In diesem Beispiel wird das folgende XML-Dokument verwendet:

Beispiel-XML-Datei: 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 die Quell-XML eingerückt ist, führt das Festlegen PreserveWhitespace des Flags options dazu, dass der Leser alle Leerzeichen in der Quell-XML liest. Knoten des Typs XText werden sowohl für erhebliche als auch unbedeutende Leerräume erstellt.

Wenn die Quell-XML eingerückt ist, wird das Flag options nicht festgelegtPreserveWhitespace, wodurch der Leser alle unbedeutenden Leerzeichen in der Quell-XML ignoriert. Die XML-Struktur wird ohne Textknoten für unbedeutende Leerzeichen erstellt.

Wenn die Quell-XML nicht eingerückt ist, hat das Festlegen des PreserveWhitespace Flags options keine Auswirkung. Erhebliche Leerzeichen bleiben weiterhin erhalten, und es gibt keine Spannen von unbedeutenden Leerzeichen, die die Erstellung von mehr Leerraumtextknoten verursachen könnten.

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

Verwenden Sie Parse zum Erstellen einer XDocument Zeichenfolge, die XML enthält.

Es gibt eine Leistungsstrafe, wenn Sie die SetBaseUri SetLineInfo Flags 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, kann der Basis-URI und die Zeileninformationen bedeutungslos werden.

LINQ to XML Ladefunktionen werden erstelltXmlReader. Daher können Sie ausnahmen erfassen, die durch die Überladungsmethoden und die XmlReader.Create XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.

Siehe auch

Gilt für

Load(XmlReader, LoadOptions)

Lädt ein XDocument aus einem XmlReader, wobei optional der Basis-URI festgelegt wird und die Zeileninformationen beibehalten werden.

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

Ein XmlReader, der zum Ermitteln des Inhalts von XDocument gelesen wird.

options
LoadOptions

Ein LoadOptions, das angibt, ob Basis-URI- und Zeileninformationen geladen werden.

Gibt zurück

XDocument

Ein XDocument mit dem XML, das aus dem angegebenen XmlReader 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 XElementund dann XmlNodeReader eine Datei erstellen möchten, kann diese Methode verwendet werden, um eine Kopie eines DOM-Dokuments in einer LINQ to XML Struktur zu erstellen.

Verwenden Sie Parse zum Erstellen einer XDocument Zeichenfolge, die XML enthält.

Die Einstellung PreserveWhitespace ist beim Laden von einer XmlReader. Die XmlReader Konfiguration wird entweder zum Lesen von Leerzeichen oder nicht konfiguriert. Die LINQ to XML Struktur wird mit den Leerzeichenknoten gefüllt, die die Leseroberflächen aufweisen. Dies ist das Verhalten unabhängig davon, ob PreserveWhitespace festgelegt oder nicht festgelegt wird.

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

Dies XmlReader kann über eine gültige Zeileninformation verfügen oder nicht. Wenn Sie festlegen SetLineInfo, werden die Zeileninformationen in der XML-Struktur aus den Zeileninformationen festgelegt, die von der XmlReaderDatei gemeldet werden.

Es gibt eine Leistungsstrafe, wenn Sie das SetLineInfo Flag 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 Ladefunktionen werden erstelltXmlReader. Daher können Sie ausnahmen erfassen, die durch die Überladungsmethoden und die XmlReader.Create XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.

Siehe auch

Gilt für