XDocument.Load XDocument.Load XDocument.Load XDocument.Load Method

Definition

Erstellt ein neues XDocument aus einer mit einem URI angegebenen Datei, aus einem TextReader oder aus einem XmlReader.Creates a new XDocument from a file specified by a URI, from an TextReader, or from an XmlReader.

Überlädt

Load(Stream) Load(Stream) Load(Stream)

Erstellt mit dem angegebenen Stream eine neue XDocument-Instanz.Creates a new XDocument instance by using the specified stream.

Load(TextReader) Load(TextReader) Load(TextReader)

Erstellt ein neues XDocument aus einem TextReader.Creates a new XDocument from a TextReader.

Load(String) Load(String) Load(String) Load(String)

Erstellt ein neues XDocument aus einer Datei.Creates a new XDocument from a file.

Load(XmlReader) Load(XmlReader) Load(XmlReader) Load(XmlReader)

Erstellt ein neues XDocument aus einem XmlReader.Creates a new XDocument from an XmlReader.

Load(Stream, LoadOptions) Load(Stream, LoadOptions) 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.Creates a new XDocument instance by using the specified stream, optionally preserving white space, setting the base URI, and retaining line information.

Load(TextReader, LoadOptions) Load(TextReader, LoadOptions) Load(TextReader, LoadOptions)

Erstellt ein neues XDocument aus einem TextReader, wobei optional Leerraum und Zeileninformationen beibehalten werden und der Basis-URI festgelegt wird.Creates a new XDocument from a TextReader, optionally preserving white space, setting the base URI, and retaining line information.

Load(String, LoadOptions) Load(String, LoadOptions) Load(String, LoadOptions) Load(String, LoadOptions)

Erstellt ein neues XDocument aus einer Datei, wobei optional Leerraum und Zeileninformationen beibehalten werden und der Basis-URI festgelegt wird.Creates a new XDocument from a file, optionally preserving white space, setting the base URI, and retaining line information.

Load(XmlReader, LoadOptions) Load(XmlReader, LoadOptions) Load(XmlReader, LoadOptions) Load(XmlReader, LoadOptions)

Lädt ein XDocument aus einem XmlReader, wobei optional der Basis-URI festgelegt wird und die Zeileninformationen beibehalten werden.Loads an XDocument from an XmlReader, optionally setting the base URI, and retaining line information.

Hinweise

Wenn Sie eine der über Ladungen dieser Methode verwenden, können Sie ein XDocument aus einer Datei, einem TextReaderoder XmlReadereinem Laden.Using one of the overloads of this method, you can load an XDocument from a file, a TextReader, or an XmlReader.

XDocument VerwendenParseSie, um eine aus einer Zeichenfolge zu erstellen, die XML enthält.To create an XDocument from a string that contains XML, use Parse.

Load(Stream) Load(Stream) Load(Stream)

Erstellt mit dem angegebenen Stream eine neue XDocument-Instanz.Creates a new XDocument instance by using the specified stream.

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

Parameter

stream
Stream Stream Stream Stream

Der Stream, der die XML-Daten enthält.The stream that contains the XML data.

Gibt zurück

Ein XDocument-Objekt, mit dem die im Stream enthaltenen Daten gelesen werden.An XDocument object that reads the data that is contained in the stream.

Hinweise

Wenn Sie die Optionen für das Laden steuern möchten, Load verwenden Sie die LoadOptions -Überladung, die als Parameter annimmt.If you want to control load options, use the Load overload that takes LoadOptions as a parameter.

Die Ladefunktionen von LINQ to XML basieren auf XmlReader.The loading functionality of LINQ to XML is built upon XmlReader. Daher können Sie alle Ausnahmen abfangen, die von den XmlReader.Create Überladungs Methoden und den XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

Wenn Sie ändern XmlReaderSettingsmüssen, führen Sie die folgenden Schritte aus:If you have to modify XmlReaderSettings, follow these steps:

  1. Erstellen Sie XmlReader einen, indem Sie XmlReaderSettings eine Create der-über Ladungen aufrufen, die als Parameter verwenden.Create an XmlReader by calling one of the Create overloads that take XmlReaderSettings as a parameter.

  2. Übergeben Sie an eine Load der über Ladungen von XDocument , die als XmlReader Parameter annimmt. XmlReaderPass the XmlReader to one of the Load overloads of XDocument that takes XmlReader as a parameter.

Load(TextReader) Load(TextReader) Load(TextReader)

Erstellt ein neues XDocument aus einem TextReader.Creates a new XDocument from a 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

Parameter

textReader
TextReader TextReader TextReader TextReader

Ein TextReader, der den Inhalt für das XDocument enthält.A TextReader that contains the content for the XDocument.

Gibt zurück

Ein XDocument mit dem Inhalt des angegebenen TextReader.An XDocument that contains the contents of the specified TextReader.

Beispiele

Im folgenden Beispiel wird ein Dokument aus einem StringReadererstellt.The following example creates a document from a 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:This example produces the following output:

<Root>Content</Root>  

Hinweise

Die Ladefunktionen von LINQ to XML basieren auf XmlReader.LINQ to XML's loading functionality is built upon XmlReader. Daher können Sie alle Ausnahmen abfangen, die von den XmlReader.Create Überladungs Methoden und den XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

Siehe auch

Load(String) Load(String) Load(String) Load(String)

Erstellt ein neues XDocument aus einer Datei.Creates a new XDocument from a file.

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 String String String

Eine URI-Zeichenfolge, die auf die Datei verweist, die in ein neues XDocument geladen werden soll.A URI string that references the file to load into a new XDocument.

Gibt zurück

Ein XDocument mit dem Inhalt der angegebenen Datei.An XDocument that contains the contents of the specified file.

Beispiele

Im folgenden Beispiel wird gezeigt, wie ein XDocument aus einer Datei geladen wird.The following example shows how to load an XDocument from a file.

In diesem Beispiel wird das folgende XML-Dokument verwendet:This example uses the following XML document:

XML-Beispieldatei: Typische Bestellung (LINQ to XML)Sample XML File: Typical Purchase Order (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:This example produces the following output:

<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 einen zugrunde XmlReader liegenden, um den XML-Code in eine XML-Struktur zu lesen.This method uses an underlying XmlReader to read the XML into an XML tree.

Verwenden Parse Sie, um XDocument eine aus einer Zeichenfolge zu erstellen, die XML enthält.Use Parse to create an XDocument from a string that contains XML.

Die Ladefunktionen von LINQ to XML basieren auf XmlReader.LINQ to XML's loading functionality is built upon XmlReader. Daher können Sie alle Ausnahmen abfangen, die von den XmlReader.Create Überladungs Methoden und den XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

Siehe auch

Load(XmlReader) Load(XmlReader) Load(XmlReader) Load(XmlReader)

Erstellt ein neues XDocument aus einem XmlReader.Creates a new XDocument from an 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 XmlReader XmlReader XmlReader

Ein XmlReader, der den Inhalt für das XDocument enthält.A XmlReader that contains the content for the XDocument.

Gibt zurück

Ein XDocument mit dem Inhalt des angegebenen XmlReader.An XDocument that contains the contents of the specified XmlReader.

Beispiele

Im folgenden Beispiel wird ein DOM-Dokument erstellt, XmlNodeReader ein aus dem DOM-Dokument erstellt XDocument , mit XmlNodeReaderdem ein erstellt wird.The following example creates a DOM document, creates an XmlNodeReader from the DOM document, creates an XDocument using the 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:This example produces the following output:

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

Hinweise

Eine Möglichkeit, diese Methode zu verwenden, besteht darin, eine Kopie eines DOM-Dokuments in einer LINQ to XML Struktur zu erstellen.One possible use for this method is to create a copy of a DOM document in a LINQ to XML tree. Zu diesem Zweck erstellen Sie ein XmlNodeReader aus einem DOM-Dokument und erstellen XDocumentdann mit dem XmlNodeReader .To do this, you create an XmlNodeReader from a DOM document, and then use the XmlNodeReader to create an XDocument.

Die Ladefunktionen von LINQ to XML basieren auf XmlReader.LINQ to XML's loading functionality is built upon XmlReader. Daher können Sie alle Ausnahmen abfangen, die von den XmlReader.Create Überladungs Methoden und den XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

Siehe auch

Load(Stream, LoadOptions) Load(Stream, LoadOptions) 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.Creates a new XDocument instance by using the specified stream, optionally preserving white space, setting the base URI, and retaining line information.

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

Parameter

stream
Stream Stream Stream Stream

Der Stream, der die XML-Daten enthält.The stream containing the XML data.

options
LoadOptions LoadOptions LoadOptions LoadOptions

Ein LoadOptions, das angibt, ob Basis-URI- und Zeileninformationen geladen werden.A LoadOptions that specifies whether to load base URI and line information.

Gibt zurück

Ein XDocument-Objekt, mit dem die im Stream enthaltenen Daten gelesen werden.An XDocument object that reads the data that is contained in the stream.

Hinweise

Die Ladefunktionen von LINQ to XML basieren auf XmlReader.The loading functionality of LINQ to XML is built upon XmlReader. Daher können Sie alle Ausnahmen abfangen, die von den XmlReader.Create Überladungs Methoden und den XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

Wenn Sie ändern XmlReaderSettingsmüssen, führen Sie die folgenden Schritte aus:If you have to modify XmlReaderSettings, follow these steps:

  1. Erstellen Sie XmlReader einen, indem Sie eine Create der-über Ladungen XmlReaderSettings aufrufen, die als Parameter annimmt.Create an XmlReader by calling one of the Create overloads that takes XmlReaderSettings as a parameter.

  2. Übergeben Sie an eine Load der über Ladungen von XDocument , die als XmlReader Parameter annimmt. XmlReaderPass the XmlReader to one of the Load overloads of XDocument that takes XmlReader as a parameter.

Load(TextReader, LoadOptions) Load(TextReader, LoadOptions) Load(TextReader, LoadOptions)

Erstellt ein neues XDocument aus einem TextReader, wobei optional Leerraum und Zeileninformationen beibehalten werden und der Basis-URI festgelegt wird.Creates a new XDocument from a TextReader, optionally preserving white space, setting the base URI, and retaining line information.

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

Parameter

textReader
TextReader TextReader TextReader TextReader

Ein TextReader, der den Inhalt für das XDocument enthält.A TextReader that contains the content for the XDocument.

options
LoadOptions LoadOptions LoadOptions LoadOptions

Ein LoadOptions, das Leerraumverhalten angibt und festlegt, ob Basis-URI- und Zeileninformationen geladen werden.A LoadOptions that specifies white space behavior, and whether to load base URI and line information.

Gibt zurück

Ein XDocument mit dem XML, das aus dem angegebenen TextReader gelesen wurde.An XDocument that contains the XML that was read from the specified TextReader.

Beispiele

Im folgenden Beispiel wird ein Dokument aus einem StringReadererstellt.The following example creates a document from a 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:This example produces the following output:

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

Hinweise

Wenn das Quell-XML eingerückt ist, bewirkt PreserveWhitespace das Festlegen options des-Flags in, dass der Reader den gesamten Leerraum in der XML-Quelldatei liest.If the source XML is indented, setting the PreserveWhitespace flag in options causes the reader to read all white space in the source XML. Knoten vom Typ XText werden sowohl für bedeutende als auch für unbedeutende Leerzeichen erstellt.Nodes of type XText are created for both significant and insignificant white space.

Wenn das Quell-XML eingerückt ist, PreserveWhitespace options bewirkt das Festlegen des-Flags nicht, dass der Reader den gesamten unbedeutenden Leerraum in der Quell-XML ignoriert.If the source XML is indented, not setting the PreserveWhitespace flag in options causes the reader to ignore all of the insignificant white space in the source XML. Die XML-Struktur wird ohne Textknoten für unbedeutende Leerzeichen erstellt.The XML tree is created without any text nodes for insignificant white space.

Wenn das Quell-XML nicht eingezogen wird, hat das PreserveWhitespace Festlegen des options Flags in keine Auswirkung.If the source XML is not indented, setting the PreserveWhitespace flag in options has no effect. Signifikanter Leerraum wird weiterhin beibehalten, und es gibt keine Bereiche mit unsignifikantem Leerraum, die die Erstellung von mehr Leerraum-Textknoten verursachen könnten.Significant white space is still preserved, and there are no spans of insignificant white space that could cause the creation of more white space text nodes.

Weitere Informationen finden Sie unter beibehalten von Leerzeichen beim Laden oder überprüfen von XML und beibehalten von Leerraum während der Serialisierung.For more information, see Preserving White Space while Loading or Parsing XML and Preserving White Space While Serializing.

Verwenden Parse Sie, um XElement eine aus einer Zeichenfolge zu erstellen, die XML enthält.Use Parse to create an XElement from a string that contains XML.

Die SetBaseUri Einstellung ist beim Laden aus einem TextReaderungültig.Setting SetBaseUri is not valid when loading from a TextReader.

Beim Festlegen des SetLineInfo Flags ist eine Leistungs Einbuße vorhanden.There is a performance penalty if you set the SetLineInfo flag.

Die Zeilen Informationen sind unmittelbar nach dem Laden des XML-Dokuments genau.The line information is accurate immediately after loading the XML document. Wenn Sie die XML-Struktur nach dem Laden des Dokuments ändern, werden die Zeilen Informationen möglicherweise bedeutungslos.If you modify the XML tree after loading the document, the line information may become meaningless.

Die Ladefunktionen von LINQ to XML basieren auf XmlReader.LINQ to XML's loading functionality is built upon XmlReader. Daher können Sie alle Ausnahmen abfangen, die von den XmlReader.Create Überladungs Methoden und den XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

Siehe auch

Load(String, LoadOptions) Load(String, LoadOptions) Load(String, LoadOptions) Load(String, LoadOptions)

Erstellt ein neues XDocument aus einer Datei, wobei optional Leerraum und Zeileninformationen beibehalten werden und der Basis-URI festgelegt wird.Creates a new XDocument from a file, optionally preserving white space, setting the base URI, and retaining line information.

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 String String String

Eine URI-Zeichenfolge, die auf die Datei verweist, die in ein neues XDocument geladen werden soll.A URI string that references the file to load into a new XDocument.

options
LoadOptions LoadOptions LoadOptions LoadOptions

Ein LoadOptions, das Leerraumverhalten angibt und festlegt, ob Basis-URI- und Zeileninformationen geladen werden.A LoadOptions that specifies white space behavior, and whether to load base URI and line information.

Gibt zurück

Ein XDocument mit dem Inhalt der angegebenen Datei.An XDocument that contains the contents of the specified file.

Beispiele

Im folgenden Beispiel wird gezeigt, wie ein XDocument aus einer Datei geladen wird.The following example shows how to load an XDocument from a file.

In diesem Beispiel wird das folgende XML-Dokument verwendet:This example uses the following XML document:

XML-Beispieldatei: Typische Bestellung (LINQ to XML)Sample XML File: Typical Purchase Order (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:This example produces the following output:

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

Hinweise

Wenn das Quell-XML eingerückt ist, bewirkt PreserveWhitespace das Festlegen options des-Flags in, dass der Reader den gesamten Leerraum in der XML-Quelldatei liest.If the source XML is indented, setting the PreserveWhitespace flag in options causes the reader to read all white space in the source XML. Knoten vom Typ XText werden sowohl für bedeutende als auch für unbedeutende Leerzeichen erstellt.Nodes of type XText are created for both significant and insignificant white space.

Wenn das Quell-XML eingerückt ist, PreserveWhitespace options bewirkt das Festlegen des-Flags nicht, dass der Reader den gesamten unbedeutenden Leerraum in der Quell-XML ignoriert.If the source XML is indented, not setting the PreserveWhitespace flag in options causes the reader to ignore all of the insignificant white space in the source XML. Die XML-Struktur wird ohne Textknoten für unbedeutende Leerzeichen erstellt.The XML tree is created without any text nodes for insignificant white space.

Wenn das Quell-XML nicht eingezogen wird, hat das PreserveWhitespace Festlegen des options Flags in keine Auswirkung.If the source XML is not indented, setting the PreserveWhitespace flag in options has no effect. Signifikanter Leerraum wird weiterhin beibehalten, und es gibt keine Bereiche mit unsignifikantem Leerraum, die die Erstellung von mehr Leerraum-Textknoten verursachen könnten.Significant white space is still preserved, and there are no spans of insignificant white space that could cause the creation of more white space text nodes.

Weitere Informationen finden Sie unter beibehalten von Leerzeichen beim Laden oder überprüfen von XML und beibehalten von Leerraum während der Serialisierung.For more information, see Preserving White Space while Loading or Parsing XML and Preserving White Space While Serializing.

Verwenden Parse Sie, um XDocument eine aus einer Zeichenfolge zu erstellen, die XML enthält.Use Parse to create an XDocument from a string that contains XML.

Beim Festlegen der SetBaseUri SetLineInfo Flags und wird eine Leistungs Einbuße festgelegt.There is a performance penalty if you set the SetBaseUri and the SetLineInfo flags.

Der Basis-URI und die Zeilen Informationen sind unmittelbar nach dem Laden des XML-Dokuments genau.The base URI and the line information are accurate immediately after loading the XML document. Wenn Sie die XML-Struktur nach dem Laden des Dokuments ändern, werden die Basis-URI-und Zeilen Informationen möglicherweise bedeutungslos.If you modify the XML tree after loading the document, the base URI and line information may become meaningless.

Die Ladefunktionen von LINQ to XML basieren auf XmlReader.LINQ to XML's loading functionality is built upon XmlReader. Daher können Sie alle Ausnahmen abfangen, die von den XmlReader.Create Überladungs Methoden und den XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

Siehe auch

Load(XmlReader, LoadOptions) Load(XmlReader, LoadOptions) Load(XmlReader, LoadOptions) Load(XmlReader, LoadOptions)

Lädt ein XDocument aus einem XmlReader, wobei optional der Basis-URI festgelegt wird und die Zeileninformationen beibehalten werden.Loads an XDocument from an XmlReader, optionally setting the base URI, and retaining line information.

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 XmlReader XmlReader XmlReader

Ein XmlReader, der zum Ermitteln des Inhalts von XDocument gelesen wird.A XmlReader that will be read for the content of the XDocument.

options
LoadOptions LoadOptions LoadOptions LoadOptions

Ein LoadOptions, das angibt, ob Basis-URI- und Zeileninformationen geladen werden.A LoadOptions that specifies whether to load base URI and line information.

Gibt zurück

Ein XDocument mit dem XML, das aus dem angegebenen XmlReader gelesen wurde.An XDocument that contains the XML that was read from the specified XmlReader.

Beispiele

Im folgenden Beispiel werden die Zeilen Informationen geladen, die aus dem XmlReadergeladen werden.The following example loads the line information that it loads from the XmlReader. Anschließend werden die Zeilen Informationen ausgegeben.It then prints the line information.

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:This example produces the following output:

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

Hinweise

Durch Erstellen eines XmlNodeReader aus einem DOM-Dokument und anschließendes verwenden XmlNodeReader der zum Erstellen XElementeines kann diese Methode verwendet werden, um eine Kopie eines DOM-Dokuments in einer LINQ to XML Struktur zu erstellen.By creating an XmlNodeReader from a DOM document, and then using the XmlNodeReader to create an XElement, this method can be used to create a copy of a DOM document in a LINQ to XML tree.

Verwenden Parse Sie, um XDocument eine aus einer Zeichenfolge zu erstellen, die XML enthält.Use Parse to create an XDocument from a string that contains XML.

Die PreserveWhitespace Einstellung ist beim Laden aus einem XmlReaderungültig.Setting PreserveWhitespace is not valid when loading from a XmlReader. XmlReader Wird so konfiguriert, dass entweder Leerraum gelesen wird oder nicht.The XmlReader will be configured to either read whitespace or not. Die LINQ to XML Struktur wird mit den Leerraum Knoten aufgefüllt, die der Reader zeigt.The LINQ to XML tree will be populated with the whitespace nodes that the reader surfaces. Dabei handelt es sich um das Verhalten, PreserveWhitespace unabhängig davon, ob festgelegt ist oder nicht.This will be the behavior regardless of whether PreserveWhitespace is set or not.

Der XmlReader kann über einen gültigen Basis-URI verfügen oder nicht.The XmlReader may have a valid base URI or not. Wenn Sie festlegen SetBaseUri, wird der Basis-URI in der XML-Struktur aus dem Basis-URI festgelegt, der XmlReadervon der gemeldet wird.If you set SetBaseUri, the base URI will be set in the XML tree from the base URI that is reported by the XmlReader.

Der XmlReader kann über gültige Zeilen Informationen verfügen oder nicht.The XmlReader may have a valid line information or not. Wenn Sie festlegen SetLineInfo, werden die Zeilen Informationen in der XML-Struktur in den Zeilen Informationen festgelegt, die von der XmlReadergemeldet werden.If you set SetLineInfo, the line information will be set in the XML tree from the line information that is reported by the XmlReader.

Beim Festlegen des SetLineInfo Flags ist eine Leistungs Einbuße vorhanden.There is a performance penalty if you set the SetLineInfo flag.

Die Zeilen Informationen sind unmittelbar nach dem Laden des XML-Dokuments genau.The line information is accurate immediately after loading the XML document. Wenn Sie die XML-Struktur nach dem Laden des Dokuments ändern, werden die Zeilen Informationen möglicherweise bedeutungslos.If you modify the XML tree after loading the document, the line information may become meaningless.

Die Ladefunktionen von LINQ to XML basieren auf XmlReader.LINQ to XML's loading functionality is built upon XmlReader. Daher können Sie alle Ausnahmen abfangen, die von den XmlReader.Create Überladungs Methoden und den XmlReader Methoden ausgelöst werden, die das Dokument lesen und analysieren.Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

Siehe auch

Gilt für: