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

Verwenden eine der Überladungen dieser Methode werden soll, können Sie laden eine XDocument aus einer Datei, einem TextReader, oder ein XmlReader.Using one of the overloads of this method, you can load an XDocument from a file, a TextReader, or an XmlReader.

Zum Erstellen einer XDocument aus einer Zeichenfolge, die XML enthält, verwenden Sie Parse.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 Ladeoptionen steuern möchten, verwenden Sie die Load -Überladung mit LoadOptions als Parameter.If you want to control load options, use the Load overload that takes LoadOptions as a parameter.

Die Funktion zum Laden der LINQ to XML basiert auf XmlReader.The loading functionality of LINQ to XML is built upon XmlReader. Aus diesem Grund können Sie fangen Sie alle Ausnahmen, die ausgelöst werden, indem die XmlReader.Create Überladen von Methoden und die XmlReader Methoden, 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 müssen, XmlReaderSettings, gehen Sie folgendermaßen vor:If you have to modify XmlReaderSettings, follow these steps:

  1. Erstellen einer XmlReader durch Aufrufen einer der Create -Überladungen nehmen XmlReaderSettings als Parameter.Create an XmlReader by calling one of the Create overloads that take XmlReaderSettings as a parameter.

  2. Übergeben Sie die XmlReader eines der Load Überladungen der XDocument akzeptiert XmlReader als Parameter.Pass 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

Das folgende Beispiel erstellt ein Dokument aus einem StringReader.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

LINQ, um die Funktion zum Laden des XML-basiert auf XmlReader.LINQ to XML's loading functionality is built upon XmlReader. Aus diesem Grund können Sie fangen Sie alle Ausnahmen, die ausgelöst werden, indem die XmlReader.Create Überladen von Methoden und die XmlReader Methoden, 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

Das folgende Beispiel zeigt, wie Sie laden eine XDocument aus einer Datei.The following example shows how to load an XDocument from a file.

In diesem Beispiel wird die 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 eine zugrunde liegende XmlReader zum Lesen des XML-Codes in eine XML-Struktur.This method uses an underlying XmlReader to read the XML into an XML tree.

Verwendung Parse zum Erstellen einer XDocument aus einer Zeichenfolge, die XML enthält.Use Parse to create an XDocument from a string that contains XML.

LINQ, um die Funktion zum Laden des XML-basiert auf XmlReader.LINQ to XML's loading functionality is built upon XmlReader. Aus diesem Grund können Sie fangen Sie alle Ausnahmen, die ausgelöst werden, indem die XmlReader.Create Überladen von Methoden und die XmlReader Methoden, 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

Das folgende Beispiel erstellt ein DOM-Dokument, eine XmlNodeReader erstellt aus dem DOM-Dokument, eine XDocument mithilfe der XmlNodeReader.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 Verwendungsmöglichkeit für diese Methode ist eine Kopie des ein DOM-Dokument 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 eine XmlNodeReader aus einem DOM-Dokument und dann die XmlNodeReader zum Erstellen einer XDocument.To do this, you create an XmlNodeReader from a DOM document, and then use the XmlNodeReader to create an XDocument.

LINQ, um die Funktion zum Laden des XML-basiert auf XmlReader.LINQ to XML's loading functionality is built upon XmlReader. Aus diesem Grund können Sie fangen Sie alle Ausnahmen, die ausgelöst werden, indem die XmlReader.Create Überladen von Methoden und die XmlReader Methoden, 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 Funktion zum Laden der LINQ to XML basiert auf XmlReader.The loading functionality of LINQ to XML is built upon XmlReader. Aus diesem Grund können Sie fangen Sie alle Ausnahmen, die ausgelöst werden, indem die XmlReader.Create Überladen von Methoden und die XmlReader Methoden, 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 müssen, XmlReaderSettings, gehen Sie folgendermaßen vor:If you have to modify XmlReaderSettings, follow these steps:

  1. Erstellen Sie eine XmlReader durch Aufrufen einer der Create Überladungen, die XmlReaderSettings als Parameter.Create an XmlReader by calling one of the Create overloads that takes XmlReaderSettings as a parameter.

  2. Übergeben Sie die XmlReader eines der Load Überladungen der XDocument akzeptiert XmlReader als Parameter.Pass 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

Das folgende Beispiel erstellt ein Dokument aus einem StringReader.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 die XML-Quelle eingezogen wird, Festlegen der PreserveWhitespace flag im options bewirkt, dass den Reader zum Lesen der gesamte Leerraum in der XML-Quelle.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 für erhebliche und nicht signifikanter Leerraum erstellt werden.Nodes of type XText are created for both significant and insignificant white space.

Festlegen, wenn die XML-Quelle eingezogen wird, nicht die PreserveWhitespace flag im options bewirkt, dass den Reader, um alle von der nicht signifikante Leerraum in der XML-Quelle zu ignorieren.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 nicht signifikante Leerraum erstellt.The XML tree is created without any text nodes for insignificant white space.

Wenn die XML-Quelle nicht eingezogen wird, Festlegen der PreserveWhitespace flag im options hat keine Auswirkungen.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 Spannen nicht signifikanter Leerraum, der die Erstellung von weitere Leerraum-Textknoten verursachen können.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 Leerraum beim Laden oder Analysieren der XML- und beibehalten Leerzeichen beim Serialisieren.For more information, see Preserving White Space while Loading or Parsing XML and Preserving White Space While Serializing.

Verwendung Parse zum Erstellen einer XElement aus einer Zeichenfolge, die XML enthält.Use Parse to create an XElement from a string that contains XML.

Festlegen von SetBaseUri ist ungültig, wenn das Laden von Daten aus einer TextReader.Setting SetBaseUri is not valid when loading from a TextReader.

Es ist eine Leistungseinbuße, wenn Sie festlegen der SetLineInfo Flag.There is a performance penalty if you set the SetLineInfo flag.

Die Zeileninformationen ist unmittelbar nach dem Laden von XML-Dokument genau.The line information is accurate immediately after loading the XML document. Wenn Sie die XML-Struktur nach dem Laden des Dokuments ändern, kann die Zeileninformationen unbrauchbar.If you modify the XML tree after loading the document, the line information may become meaningless.

LINQ, um die Funktion zum Laden des XML-basiert auf XmlReader.LINQ to XML's loading functionality is built upon XmlReader. Aus diesem Grund können Sie fangen Sie alle Ausnahmen, die ausgelöst werden, indem die XmlReader.Create Überladen von Methoden und die XmlReader Methoden, 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

Das folgende Beispiel zeigt, wie Sie laden eine XDocument aus einer Datei.The following example shows how to load an XDocument from a file.

In diesem Beispiel wird die 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 die XML-Quelle eingezogen wird, Festlegen der PreserveWhitespace flag im options bewirkt, dass den Reader zum Lesen der gesamte Leerraum in der XML-Quelle.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 für erhebliche und nicht signifikanter Leerraum erstellt werden.Nodes of type XText are created for both significant and insignificant white space.

Festlegen, wenn die XML-Quelle eingezogen wird, nicht die PreserveWhitespace flag im options bewirkt, dass den Reader, um alle von der nicht signifikante Leerraum in der XML-Quelle zu ignorieren.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 nicht signifikante Leerraum erstellt.The XML tree is created without any text nodes for insignificant white space.

Wenn die XML-Quelle nicht eingezogen wird, Festlegen der PreserveWhitespace flag im options hat keine Auswirkungen.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 Spannen nicht signifikanter Leerraum, der die Erstellung von weitere Leerraum-Textknoten verursachen können.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 Leerraum beim Laden oder Analysieren der XML- und beibehalten Leerzeichen beim Serialisieren.For more information, see Preserving White Space while Loading or Parsing XML and Preserving White Space While Serializing.

Verwendung Parse zum Erstellen einer XDocument aus einer Zeichenfolge, die XML enthält.Use Parse to create an XDocument from a string that contains XML.

Es ist eine Leistungseinbuße, wenn Sie festlegen der SetBaseUri und SetLineInfo Flags.There is a performance penalty if you set the SetBaseUri and the SetLineInfo flags.

Die Basis-URI und die Zeileninformationen sind direkt nach dem Laden von XML-Dokument genau.The base URI and the line information are accurate immediately after loading the XML document. Wenn Sie die XML-Struktur ändern, nach dem Laden des Dokuments, ist die base-URI- und Zeileninformationen Informationen möglicherweise unbrauchbar.If you modify the XML tree after loading the document, the base URI and line information may become meaningless.

LINQ, um die Funktion zum Laden des XML-basiert auf XmlReader.LINQ to XML's loading functionality is built upon XmlReader. Aus diesem Grund können Sie fangen Sie alle Ausnahmen, die ausgelöst werden, indem die XmlReader.Create Überladen von Methoden und die XmlReader Methoden, 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

Das folgende Beispiel lädt die Zeileninformationen, die sie aus lädt die XmlReader.The following example loads the line information that it loads from the XmlReader. Klicken Sie dann die Zeileninformationen 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 das Erstellen einer XmlNodeReader von einem DOM-Dokument, und klicken Sie dann mit der XmlNodeReader zum Erstellen einer XElement, diese Methode kann verwendet werden, um eine Kopie des ein DOM-Dokument 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.

Verwendung Parse zum Erstellen einer XDocument aus einer Zeichenfolge, die XML enthält.Use Parse to create an XDocument from a string that contains XML.

Festlegen von PreserveWhitespace ist ungültig, wenn das Laden von Daten aus einer XmlReader.Setting PreserveWhitespace is not valid when loading from a XmlReader. Die XmlReader erfolgt die Konfiguration auf den Leerraum entweder lesen oder nicht.The XmlReader will be configured to either read whitespace or not. Die LINQ to XML-Struktur wird mit der Knoten mit Leerraum aufgefüllt, die der Reader angibt.The LINQ to XML tree will be populated with the whitespace nodes that the reader surfaces. Dadurch wird das Verhalten unabhängig davon, ob PreserveWhitespace oder nicht festgelegt ist.This will be the behavior regardless of whether PreserveWhitespace is set or not.

Die XmlReader möglicherweise einen gültigen Basis-URI oder nicht.The XmlReader may have a valid base URI or not. Setzen Sie SetBaseUri, der Base URI wird in der XML-Struktur festgelegt werden, aus der Basis-URI, der vom gemeldet wird die XmlReader.If you set SetBaseUri, the base URI will be set in the XML tree from the base URI that is reported by the XmlReader.

Die XmlReader möglicherweise eine gültige Informationen aus, oder nicht.The XmlReader may have a valid line information or not. Setzen Sie SetLineInfo, die Zeileninformationen wird in der XML-Struktur festgelegt werden, aus den Line-Informationen, die von berichtet wird die XmlReader.If you set SetLineInfo, the line information will be set in the XML tree from the line information that is reported by the XmlReader.

Es ist eine Leistungseinbuße, wenn Sie festlegen der SetLineInfo Flag.There is a performance penalty if you set the SetLineInfo flag.

Die Zeileninformationen ist unmittelbar nach dem Laden von XML-Dokument genau.The line information is accurate immediately after loading the XML document. Wenn Sie die XML-Struktur nach dem Laden des Dokuments ändern, kann die Zeileninformationen unbrauchbar.If you modify the XML tree after loading the document, the line information may become meaningless.

LINQ, um die Funktion zum Laden des XML-basiert auf XmlReader.LINQ to XML's loading functionality is built upon XmlReader. Aus diesem Grund können Sie fangen Sie alle Ausnahmen, die ausgelöst werden, indem die XmlReader.Create Überladen von Methoden und die XmlReader Methoden, 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: