Udostępnij za pośrednictwem


XDocument.Load Metoda

Definicja

Tworzy nowy XDocument z pliku określonego przez identyfikator URI na podstawie TextReaderlub z XmlReader.

Przeciążenia

Load(Stream)

Tworzy nowe wystąpienie XDocument przy użyciu określonego strumienia.

Load(TextReader)

Tworzy nowy XDocument na podstawie TextReader.

Load(String)

Tworzy nowy XDocument na podstawie pliku.

Load(XmlReader)

Tworzy nowy XDocument na podstawie XmlReader.

Load(Stream, LoadOptions)

Tworzy nowe wystąpienie XDocument przy użyciu określonego strumienia, opcjonalnie zachowując biały znak, ustawiając podstawowy identyfikator URI i zachowując informacje o wierszu.

Load(TextReader, LoadOptions)

Tworzy nowy XDocument na podstawie TextReader, opcjonalnie zachowując biały znak, ustawiając podstawowy identyfikator URI i zachowując informacje o wierszu.

Load(String, LoadOptions)

Tworzy nowy XDocument z pliku, opcjonalnie zachowując biały znak, ustawiając podstawowy identyfikator URI i zachowując informacje o wierszu.

Load(XmlReader, LoadOptions)

Ładuje XDocument z XmlReader, opcjonalnie ustawia podstawowy identyfikator URI i zachowuje informacje o wierszu.

Uwagi

Przy użyciu jednego z przeciążeń tej metody można załadować XDocument z pliku, TextReaderlub XmlReader.

Aby utworzyć XDocument na podstawie ciągu zawierającego kod XML, użyj Parse.

Load(Stream)

Źródło:
XDocument.cs
Źródło:
XDocument.cs
Źródło:
XDocument.cs

Tworzy nowe wystąpienie XDocument przy użyciu określonego strumienia.

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

Parametry

stream
Stream

Strumień zawierający dane XML.

Zwraca

Obiekt XDocument odczytujący dane zawarte w strumieniu.

Uwagi

Jeśli chcesz kontrolować opcje ładowania, użyj przeciążenia Load, które przyjmuje LoadOptions jako parametr.

Funkcja ładowania LINQ to XML jest oparta na XmlReader. W związku z tym można przechwytywać wszelkie wyjątki zgłaszane przez metody przeciążenia XmlReader.Create i metody XmlReader, które odczytują i analizują dokument.

Jeśli musisz zmodyfikować XmlReaderSettings, wykonaj następujące kroki:

  1. Utwórz XmlReader przez wywołanie jednego z przeciążeń Create, które przyjmują XmlReaderSettings jako parametr.

  2. Przekaż XmlReader do jednego z przeciążeń LoadXDocument, które pobierają XmlReader jako parametr.

Dotyczy

Load(TextReader)

Źródło:
XDocument.cs
Źródło:
XDocument.cs
Źródło:
XDocument.cs

Tworzy nowy XDocument na podstawie 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

Parametry

textReader
TextReader

TextReader, który zawiera zawartość XDocument.

Zwraca

XDocument, który zawiera zawartość określonego TextReader.

Przykłady

Poniższy przykład tworzy dokument na podstawie 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)

W tym przykładzie są generowane następujące dane wyjściowe:

<Root>Content</Root>

Uwagi

Funkcja ładowania LINQ to XML jest oparta na XmlReader. W związku z tym można przechwytywać wszelkie wyjątki zgłaszane przez metody przeciążenia XmlReader.Create i metody XmlReader, które odczytują i analizują dokument.

Zobacz też

Dotyczy

Load(String)

Źródło:
XDocument.cs
Źródło:
XDocument.cs
Źródło:
XDocument.cs

Tworzy nowy XDocument na podstawie pliku.

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

Parametry

uri
String

Ciąg identyfikatora URI odwołujący się do pliku w celu załadowania do nowego XDocument.

Zwraca

XDocument, który zawiera zawartość określonego pliku.

Przykłady

W poniższym przykładzie pokazano, jak załadować XDocument z pliku.

W tym przykładzie użyto następującego dokumentu XML:

przykładowy plik XML: typowe zamówienie zakupu (LINQ to XML)

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

W tym przykładzie są generowane następujące dane wyjściowe:

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

Uwagi

Ta metoda używa bazowego XmlReader do odczytywania kodu XML do drzewa XML.

Użyj Parse, aby utworzyć XDocument na podstawie ciągu zawierającego kod XML.

Funkcja ładowania LINQ to XML jest oparta na XmlReader. W związku z tym można przechwytywać wszelkie wyjątki zgłaszane przez metody przeciążenia XmlReader.Create i metody XmlReader, które odczytują i analizują dokument.

Zobacz też

Dotyczy

Load(XmlReader)

Źródło:
XDocument.cs
Źródło:
XDocument.cs
Źródło:
XDocument.cs

Tworzy nowy XDocument na podstawie 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

Parametry

reader
XmlReader

XmlReader, który zawiera zawartość XDocument.

Zwraca

XDocument, który zawiera zawartość określonego XmlReader.

Przykłady

Poniższy przykład tworzy dokument DOM, tworzy XmlNodeReader z dokumentu DOM, tworzy XDocument przy użyciu 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

W tym przykładzie są generowane następujące dane wyjściowe:

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

Uwagi

Jedną z możliwych metod jest utworzenie kopii dokumentu DOM w drzewie LINQ to XML. W tym celu należy utworzyć XmlNodeReader na podstawie dokumentu DOM, a następnie użyć XmlNodeReader, aby utworzyć XDocument.

Funkcja ładowania LINQ to XML jest oparta na XmlReader. W związku z tym można przechwytywać wszelkie wyjątki zgłaszane przez metody przeciążenia XmlReader.Create i metody XmlReader, które odczytują i analizują dokument.

Zobacz też

Dotyczy

Load(Stream, LoadOptions)

Źródło:
XDocument.cs
Źródło:
XDocument.cs
Źródło:
XDocument.cs

Tworzy nowe wystąpienie XDocument przy użyciu określonego strumienia, opcjonalnie zachowując biały znak, ustawiając podstawowy identyfikator URI i zachowując informacje o wierszu.

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

Parametry

stream
Stream

Strumień zawierający dane XML.

options
LoadOptions

LoadOptions, który określa, czy załadować podstawowy identyfikator URI i informacje o wierszu.

Zwraca

Obiekt XDocument odczytujący dane zawarte w strumieniu.

Uwagi

Funkcja ładowania LINQ to XML jest oparta na XmlReader. W związku z tym można przechwytywać wszelkie wyjątki zgłaszane przez metody przeciążenia XmlReader.Create i metody XmlReader, które odczytują i analizują dokument.

Jeśli musisz zmodyfikować XmlReaderSettings, wykonaj następujące kroki:

  1. Utwórz XmlReader, wywołując jeden z przeciążeń Create, który przyjmuje XmlReaderSettings jako parametr.

  2. Przekaż XmlReader do jednego z przeciążeń LoadXDocument, które pobierają XmlReader jako parametr.

Dotyczy

Load(TextReader, LoadOptions)

Źródło:
XDocument.cs
Źródło:
XDocument.cs
Źródło:
XDocument.cs

Tworzy nowy XDocument na podstawie TextReader, opcjonalnie zachowując biały znak, ustawiając podstawowy identyfikator URI i zachowując informacje o wierszu.

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

Parametry

textReader
TextReader

TextReader, który zawiera zawartość XDocument.

options
LoadOptions

LoadOptions określający zachowanie białych znaków oraz informacje o ładowaniu podstawowego identyfikatora URI i wiersza.

Zwraca

XDocument zawierający kod XML odczytany z określonego TextReader.

Przykłady

Poniższy przykład tworzy dokument na podstawie 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)

W tym przykładzie są generowane następujące dane wyjściowe:

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

Uwagi

Jeśli źródłowy kod XML jest wcięcie, ustawienie flagi PreserveWhitespace w options powoduje, że czytelnik odczytuje wszystkie białe znaki w źródłowym formacie XML. Węzły typu XText są tworzone zarówno dla znaczących, jak i nieistotnych białych znaków.

Jeśli źródłowy kod XML jest wcięcie, nie ustawiając flagi PreserveWhitespace w options, czytnik ignoruje wszystkie nieistotne białe znaki w źródłowym formacie XML. Drzewo XML jest tworzone bez żadnych węzłów tekstowych dla nieistotnego odstępu.

Jeśli źródłowy kod XML nie jest wcięcie, ustawienie flagi PreserveWhitespace w options nie ma żadnego wpływu. Znaczne odstępy są nadal zachowywane i nie ma nieistotnych odstępów, które mogłyby spowodować utworzenie większej liczby białych węzłów tekstowych.

Aby uzyskać więcej informacji, zobacz Zachowaj białe miejsce podczas ładowania lub analizowania XML i Zachowaj biały znak podczas serializacji.

Użyj Parse, aby utworzyć XElement na podstawie ciągu zawierającego kod XML.

Ustawienie SetBaseUri jest nieprawidłowe podczas ładowania z TextReader.

W przypadku ustawienia flagi SetLineInfo występuje kara za wydajność.

Informacje o wierszu są dokładne natychmiast po załadowaniu dokumentu XML. Jeśli po załadowaniu dokumentu zmodyfikujesz drzewo XML, informacje o wierszu mogą stać się bezużyteczne.

Funkcja ładowania LINQ to XML jest oparta na XmlReader. W związku z tym można przechwytywać wszelkie wyjątki zgłaszane przez metody przeciążenia XmlReader.Create i metody XmlReader, które odczytują i analizują dokument.

Zobacz też

Dotyczy

Load(String, LoadOptions)

Źródło:
XDocument.cs
Źródło:
XDocument.cs
Źródło:
XDocument.cs

Tworzy nowy XDocument z pliku, opcjonalnie zachowując biały znak, ustawiając podstawowy identyfikator URI i zachowując informacje o wierszu.

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

Parametry

uri
String

Ciąg identyfikatora URI odwołujący się do pliku w celu załadowania do nowego XDocument.

options
LoadOptions

LoadOptions określający zachowanie białych znaków oraz informacje o ładowaniu podstawowego identyfikatora URI i wiersza.

Zwraca

XDocument, który zawiera zawartość określonego pliku.

Przykłady

W poniższym przykładzie pokazano, jak załadować XDocument z pliku.

W tym przykładzie użyto następującego dokumentu XML:

przykładowy plik XML: typowe zamówienie zakupu (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())

W tym przykładzie są generowane następujące dane wyjściowe:

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

Uwagi

Jeśli źródłowy kod XML jest wcięcie, ustawienie flagi PreserveWhitespace w options powoduje, że czytelnik odczytuje wszystkie białe znaki w źródłowym formacie XML. Węzły typu XText są tworzone zarówno dla znaczących, jak i nieistotnych białych znaków.

Jeśli źródłowy kod XML jest wcięcie, nie ustawiając flagi PreserveWhitespace w options, czytnik ignoruje wszystkie nieistotne białe znaki w źródłowym formacie XML. Drzewo XML jest tworzone bez żadnych węzłów tekstowych dla nieistotnego odstępu.

Jeśli źródłowy kod XML nie jest wcięcie, ustawienie flagi PreserveWhitespace w options nie ma żadnego wpływu. Znaczne odstępy są nadal zachowywane i nie ma nieistotnych odstępów, które mogłyby spowodować utworzenie większej liczby białych węzłów tekstowych.

Aby uzyskać więcej informacji, zobacz Zachowaj białe miejsce podczas ładowania lub analizowania XML i Zachowaj biały znak podczas serializacji.

Użyj Parse, aby utworzyć XDocument na podstawie ciągu zawierającego kod XML.

W przypadku ustawienia SetBaseUri i flag SetLineInfo występuje kara za wydajność.

Podstawowy identyfikator URI i informacje o wierszu są dokładne natychmiast po załadowaniu dokumentu XML. Jeśli po załadowaniu dokumentu zmodyfikujesz drzewo XML, podstawowy identyfikator URI i informacje o wierszu mogą stać się bezużyteczne.

Funkcja ładowania LINQ to XML jest oparta na XmlReader. W związku z tym można przechwytywać wszelkie wyjątki zgłaszane przez metody przeciążenia XmlReader.Create i metody XmlReader, które odczytują i analizują dokument.

Zobacz też

Dotyczy

Load(XmlReader, LoadOptions)

Źródło:
XDocument.cs
Źródło:
XDocument.cs
Źródło:
XDocument.cs

Ładuje XDocument z XmlReader, opcjonalnie ustawia podstawowy identyfikator URI i zachowuje informacje o wierszu.

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

Parametry

reader
XmlReader

XmlReader, który będzie odczytywany pod kątem zawartości XDocument.

options
LoadOptions

LoadOptions, który określa, czy załadować podstawowy identyfikator URI i informacje o wierszu.

Zwraca

XDocument zawierający kod XML odczytany z określonego XmlReader.

Przykłady

Poniższy przykład ładuje informacje o wierszu ładowane z XmlReader. Następnie wyświetla informacje o wierszu.

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

W tym przykładzie są generowane następujące dane wyjściowe:

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

Uwagi

Tworząc XmlNodeReader na podstawie dokumentu DOM, a następnie używając XmlNodeReader do utworzenia XElement, tej metody można użyć do utworzenia kopii dokumentu DOM w drzewie LINQ to XML.

Użyj Parse, aby utworzyć XDocument na podstawie ciągu zawierającego kod XML.

Ustawienie PreserveWhitespace jest nieprawidłowe podczas ładowania z XmlReader. XmlReader zostanie skonfigurowany do odczytu białych znaków lub nie. Drzewo LINQ to XML zostanie wypełnione węzłami białych znaków, które mają powierzchnie czytnika. Będzie to zachowanie niezależnie od tego, czy PreserveWhitespace jest ustawiona, czy nie.

XmlReader może mieć prawidłowy podstawowy identyfikator URI. Jeśli ustawisz SetBaseUri, podstawowy identyfikator URI zostanie ustawiony w drzewie XML z podstawowego identyfikatora URI zgłoszonego przez XmlReader.

XmlReader może zawierać prawidłowe informacje o wierszu. Jeśli ustawisz SetLineInfo, informacje o wierszu zostaną ustawione w drzewie XML z informacji o wierszu zgłoszonych przez XmlReader.

W przypadku ustawienia flagi SetLineInfo występuje kara za wydajność.

Informacje o wierszu są dokładne natychmiast po załadowaniu dokumentu XML. Jeśli po załadowaniu dokumentu zmodyfikujesz drzewo XML, informacje o wierszu mogą stać się bezużyteczne.

Funkcja ładowania LINQ to XML jest oparta na XmlReader. W związku z tym można przechwytywać wszelkie wyjątki zgłaszane przez metody przeciążenia XmlReader.Create i metody XmlReader, które odczytują i analizują dokument.

Zobacz też

Dotyczy