Język

XElement.Load Metoda

Definicja

Tworzy nowy XElement element z pliku określonego przez identyfikator URI z TextReaderobiektu lub .XmlReader

Przeciążenia

Nazwa Opis
Load(TextReader, LoadOptions)

Ładuje element XElement z TextReaderobiektu , opcjonalnie zachowując biały znak i zachowując informacje o wierszu.

Load(XmlReader, LoadOptions)

Ładuje element XElement z XmlReaderobiektu , opcjonalnie zachowując biały znak, ustawiając podstawowy identyfikator URI i zachowując informacje o wierszu.

Load(String, LoadOptions)

Ładuje element XElement z pliku, opcjonalnie zachowując biały znak, ustawiając podstawowy identyfikator URI i zachowując informacje o wierszu.

Load(Stream, LoadOptions)

Tworzy nowe XElement wystąpienie 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)

Ładuje element XElement z elementu TextReader.

Load(String)

Ładuje element XElement z pliku.

Load(Stream)

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

Load(XmlReader)

Ładuje element XElement z elementu XmlReader.

Uwagi

Możesz użyć jednego z przeciążeń tej metody, aby załadować element XElement z pliku, obiektu TextReaderlub .XmlReader

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

Load(TextReader, LoadOptions)

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

Ładuje element XElement z TextReaderobiektu , opcjonalnie zachowując biały znak i zachowując informacje o wierszu.

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

Parametry

textReader
TextReader

Element TextReader , który zostanie odczytany dla XElement zawartości.

options
LoadOptions

Element LoadOptions określający zachowanie białych znaków oraz to, czy mają być ładowane podstawowe informacje o identyfikatorze URI i wierszu.

Zwraca

Element XElement zawierający kod XML, który został odczytany z określonego TextReaderelementu .

Przykłady

Poniższy przykład ładuje element XElement z obiektu StringReader na dwa różne sposoby: zachowanie odstępu i brak zachowania odstępu. Następnie używa zapytania, aby określić liczbę węzłów białych znaków w wynikowym drzewie XML.

TextReader sr;
int whiteSpaceNodes;

sr = new StringReader("<Root> <Child> </Child> </Root>");
XElement xmlTree1 = XElement.Load(sr, LoadOptions.None);
sr.Close();
whiteSpaceNodes = xmlTree1
    .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>");
XElement xmlTree2 = XElement.Load(sr, LoadOptions.PreserveWhitespace);
sr.Close();
whiteSpaceNodes = xmlTree2
    .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 XElement = XElement.Load(sr, LoadOptions.None)
sr.Close()
whiteSpaceNodes = xmlTree1 _
    .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 XElement = XElement.Load(sr, LoadOptions.PreserveWhitespace)
sr.Close()
whiteSpaceNodes = xmlTree2 _
    .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)

Ten przykład generuje następujące wyniki:

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

Poniższy przykład ładuje informacje o wierszu podczas ładowania z elementu TextReader. Następnie wyświetla informacje o wierszu.

TextReader sr = new StringReader(
@"<Root>
  <Child>
    <GrandChild1/>
    <GrandChild2/>
  </Child>
</Root>");
XElement po = XElement.Load(sr,
    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 po.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 sr As TextReader = New StringReader( _
    "<Root>" & Environment.NewLine & _
    "  <Child>" & Environment.NewLine & _
    "    <GrandChild1/>" & Environment.NewLine & _
    "    <GrandChild2/>" & Environment.NewLine & _
    "  </Child>" & Environment.NewLine & _
    "</Root>")
Dim po As XElement = XElement.Load(sr, 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 po.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

Ten przykład generuje następujące wyniki:

Element Name        Line Position
------------        ---- --------
Root                1    2
  Child             2    4
    GrandChild1     3    6
    GrandChild2     4    6

Uwagi

Jeśli źródłowy kod XML jest wcięcie, ustawienie PreserveWhitespace flagi w options programie powoduje, że czytelnik odczytuje wszystkie białe znaki w źródłowym kodzie 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 PreserveWhitespace flagi w pliku , 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 w PreserveWhitespace elemecie options nie ma żadnego efektu. 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 Zachowywanie odstępu podczas ładowania lub analizowania kodu XML i Zachowywanie odstępu podczas serializacji.

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

Ustawienie SetBaseUri nie będzie miało wpływu podczas ładowania z elementu 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, które są zgłaszane przez XmlReader.Create metody przeciążenia i XmlReader metody odczytujące i analizowane dokumentu.

Zobacz też

Dotyczy

Load(XmlReader, LoadOptions)

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

Ładuje element XElement z XmlReaderobiektu , opcjonalnie zachowując biały znak, ustawiając podstawowy identyfikator URI i zachowując informacje o wierszu.

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

Parametry

reader
XmlReader

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

options
LoadOptions

Element LoadOptions określający zachowanie białych znaków oraz to, czy mają być ładowane podstawowe informacje o identyfikatorze URI i wierszu.

Zwraca

Element XElement zawierający kod XML, który został odczytany z określonego XmlReaderelementu .

Przykłady

Poniższy przykład ładuje informacje o wierszu ładowane z elementu 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();

    XElement xRoot = XElement.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.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 XElement = XElement.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.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

Ten przykład generuje następujące wyniki:

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

Uwagi

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

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

Ustawienie PreserveWhitespace jest nieprawidłowe podczas ładowania z elementu XmlReader. Zostanie XmlReader 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.

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

Element XmlReader może zawierać prawidłowe informacje o wierszu. Jeśli ustawisz SetLineInfowartość , informacje o wierszu zostaną ustawione w drzewie XML z informacji o wierszu zgłaszanych przez element 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, które są zgłaszane przez XmlReader.Create metody przeciążenia i XmlReader metody odczytujące i analizowane dokumentu.

Zobacz też

Dotyczy

Load(String, LoadOptions)

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

Ładuje element XElement z pliku, opcjonalnie zachowując biały znak, ustawiając podstawowy identyfikator URI i zachowując informacje o wierszu.

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

Parametry

uri
String

Ciąg identyfikatora URI odwołującego się do pliku do załadowania do elementu XElement.

options
LoadOptions

Element LoadOptions określający zachowanie białych znaków oraz to, czy mają być ładowane podstawowe informacje o identyfikatorze URI i wierszu.

Zwraca

Element XElement zawierający zawartość określonego pliku.

Przykłady

Poniższy przykład ładuje element XElement z pliku na dwa różne sposoby: zachowanie odstępu i brak zachowania odstępu. Następnie używa zapytania, aby określić liczbę węzłów białych znaków w wynikowym drzewie XML.

XElement xmlTree1 = XElement.Parse("<Root> <Child>  </Child> </Root>", LoadOptions.PreserveWhitespace);
xmlTree1.Save("Tree.xml");
Console.WriteLine(xmlTree1);

int whiteSpaceNodes;
XElement xmlTree2 = XElement.Load("Tree.xml",
    LoadOptions.None);
whiteSpaceNodes = xmlTree2
    .DescendantNodesAndSelf()
    .OfType<XText>()
    .Where(tNode => tNode.ToString().Trim().Length == 0)
    .Count();
Console.WriteLine("Count of white space nodes (not preserving whitespace): {0}", whiteSpaceNodes);

XElement xmlTree3 = XElement.Load("Tree.xml",
    LoadOptions.PreserveWhitespace);
whiteSpaceNodes = xmlTree3
    .DescendantNodesAndSelf()
    .OfType<XText>()
    .Where(tNode => tNode.ToString().Trim().Length == 0)
    .Count();
Console.WriteLine("Count of white space nodes (preserving whitespace): {0}", whiteSpaceNodes);
Dim xmlTree1 As XElement = XElement.Parse("<Root> <Child>  </Child> </Root>", LoadOptions.PreserveWhitespace)
xmlTree1.Save("Tree.xml")
Console.WriteLine(xmlTree1)

Dim whiteSpaceNodes As Integer
Dim xmlTree2 As XElement = XElement.Load("Tree.xml", LoadOptions.None)
whiteSpaceNodes = xmlTree2 _
                  .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)

Dim xmlTree3 As XElement = XElement.Load("Tree.xml", LoadOptions.PreserveWhitespace)
whiteSpaceNodes = xmlTree3 _
                  .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)

Ten przykład generuje następujące wyniki:

<Root> <Child>  </Child> </Root>
Count of white space nodes (not preserving whitespace): 0
Count of white space nodes (preserving whitespace): 3

Poniższy przykład ładuje podstawowy identyfikator URI i informacje o wierszu podczas ładowania pliku. Następnie wyświetla podstawowy identyfikator URI i informacje o wierszu.

W tym przykładzie użyto następującego pliku zasobu: Przykładowy plik XML: Typowe zamówienie zakupu (LINQ to XML).

XElement po = XElement.Load("PurchaseOrder.xml",
    LoadOptions.SetBaseUri | LoadOptions.SetLineInfo);
string[] splitUri = po.BaseUri.Split('/');
Console.WriteLine("BaseUri: {0}", splitUri[splitUri.Length - 1]);
Console.WriteLine();
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 po.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 po As XElement = XElement.Load("PurchaseOrder.xml", LoadOptions.SetBaseUri Or LoadOptions.SetLineInfo)
Dim splitUri() As String = po.BaseUri.Split("/")
Console.WriteLine("BaseUri: {0}", splitUri(splitUri.Length - 1))
Console.WriteLine()
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 po.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

Ten przykład generuje następujące wyniki:

BaseUri: PurchaseOrder.xml

Element Name        Line Position
------------        ---- --------
PurchaseOrder       2    2
  Address           3    4
    Name            4    6
    Street          5    6
    City            6    6
    State           7    6
    Zip             8    6
    Country         9    6
  Address           11   4
    Name            12   6
    Street          13   6
    City            14   6
    State           15   6
    Zip             16   6
    Country         17   6
  DeliveryNotes     19   4
  Items             20   4
    Item            21   6
      ProductName   22   8
      Quantity      23   8
      USPrice       24   8
      Comment       25   8
    Item            27   6
      ProductName   28   8
      Quantity      29   8
      USPrice       30   8
      ShipDate      31   8

Uwagi

Jeśli źródłowy kod XML jest wcięcie, ustawienie PreserveWhitespace flagi w options programie powoduje, że czytelnik odczytuje wszystkie białe znaki w źródłowym kodzie 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 PreserveWhitespace flagi w pliku , 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 w PreserveWhitespace elemecie options nie ma żadnego efektu. 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 Zachowywanie odstępu podczas ładowania lub analizowania kodu XML i Zachowywanie odstępu podczas serializacji.

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

Jeśli ustawisz flagi SetBaseUri i, SetLineInfo zostanie ustawiona 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, które są zgłaszane przez XmlReader.Create metody przeciążenia i XmlReader metody odczytujące i analizowane dokumentu.

Zobacz też

Dotyczy

Load(Stream, LoadOptions)

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

Tworzy nowe XElement wystąpienie 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::XElement ^ Load(System::IO::Stream ^ stream, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XElement Load(System.IO.Stream stream, System.Xml.Linq.LoadOptions options);
static member Load : System.IO.Stream * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XElement
Public Shared Function Load (stream As Stream, options As LoadOptions) As XElement

Parametry

stream
Stream

Strumień zawierający dane XML.

options
LoadOptions

LoadOptions Obiekt określający, czy mają być ładowane podstawowe informacje o identyfikatorze URI i wierszu.

Zwraca

Obiekt XElement służący do odczytywania danych, które zawiera strumień.

Uwagi

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

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

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

  2. Przekaż element XmlReader do jednego z XElementLoad przeciążeń, które przyjmuje XmlReader jako parametr.

Dotyczy

Load(TextReader)

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

Ładuje element XElement z elementu TextReader.

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

Parametry

textReader
TextReader

Element TextReader , który zostanie odczytany dla XElement zawartości.

Zwraca

Element XElement zawierający kod XML, który został odczytany z określonego TextReaderelementu .

Przykłady

Poniższy przykład ładuje element z elementu StringReader.

TextReader sr = new StringReader("<Root><Child/></Root>");
XElement xmlTree = XElement.Load(sr);
sr.Close();
Console.WriteLine(xmlTree);
Dim sr As TextReader = New StringReader("<Root><Child/></Root>")
Dim xmlTree As XElement = XElement.Load(sr)
sr.Close()
Console.WriteLine(xmlTree)

Ten przykład generuje następujące wyniki:

<Root>
  <Child />
</Root>

Uwagi

Ta metoda odczytuje nieprzetworzone dane XML do drzewa XML. Odrzuca wszystkie nieistotne białe znaki w pliku.

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

Zobacz też

Dotyczy

Load(String)

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

Ładuje element XElement z pliku.

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

Parametry

uri
String

Ciąg identyfikatora URI odwołującego się do pliku do załadowania do nowego XElementpliku .

Zwraca

Element XElement zawierający zawartość określonego pliku.

Przykłady

Poniższy przykład tworzy drzewo XML, zapisuje je w pliku, a następnie używa tej metody do załadowania XElement pliku.

XElement xmlTree1 = new XElement("Root",
    new XElement("Child", "content")
);
xmlTree1.Save("Tree.xml");

XElement xmlTree2 = XElement.Load("Tree.xml");
Console.WriteLine(xmlTree2.Name);
Dim xmlTree1 As XElement = _
        <Root>
            <Child>Content</Child>
        </Root>
xmlTree1.Save("Tree.xml")

Dim xmlTree2 As XElement = XElement.Load("Tree.xml")
Console.WriteLine(xmlTree2.Name)

Ten przykład generuje następujące wyniki:

Root

Uwagi

Ta metoda odczytuje nieprzetworzone dane XML do drzewa XML. Odrzuca wszystkie nieistotne białe znaki w pliku.

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

Zobacz też

Dotyczy

Load(Stream)

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

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

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

Parametry

stream
Stream

Strumień zawierający dane XML.

Zwraca

XElement Obiekt służący do odczytywania danych zawartych w strumieniu.

Uwagi

Jeśli chcesz kontrolować opcje ładowania, użyj Load przeciążenia, 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, które są zgłaszane przez XmlReader.Create metody przeciążenia i XmlReader metody odczytujące i analizowane dokumentu.

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

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

  2. Przekaż element XmlReader do jednego z XElementLoad przeciążeń, które przyjmuje XmlReader jako parametr.

Dotyczy

Load(XmlReader)

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

Ładuje element XElement z elementu XmlReader.

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

Parametry

reader
XmlReader

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

Zwraca

Element XElement zawierający kod XML, który został odczytany z określonego XmlReaderelementu .

Przykłady

Poniższy przykład tworzy dokument DOM, tworzy element XmlNodeReader z dokumentu DOM, tworzy wystąpienie drzewa z czytnika. Ten kod skutecznie kopiuje dokument DOM do drzewa LINQ to XML.

// 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();

    XElement xRoot = XElement.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 XElement = XElement.Load(nodeReader)
    Console.WriteLine(xRoot)
End Using

Ten przykład generuje następujące wyniki:

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

Uwagi

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

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

Zobacz też

Dotyczy