XElement.Load Метод

Определение

Создает новый элемент XElement из файла, заданного URI, из объекта TextReader или из объекта XmlReader.

Перегрузки

Load(TextReader, LoadOptions)

Загружает элемент XElement из объекта TextReader, при необходимости сохраняя пробелы и сведения о строке.

Load(XmlReader, LoadOptions)

Загружает элемент XElement из объекта XmlReader, при необходимости оставляя пустое пространство, задавая базовый URI и сохраняя сведения о строке.

Load(String, LoadOptions)

Загружает XElement из файла, по требованию сохраняет пустое пространство, задает базовый URI и сведения о строке.

Load(Stream, LoadOptions)

Создает новый экземплярXElement, используя указанный поток и при необходимости оставляя пустое пространство, задавая базовый URI и сохраняя сведения о строках.

Load(TextReader)

Загружает XElement из TextReader.

Load(String)

Загружает XElement из файла.

Load(Stream)

Создает новый экземпляр XElement с помощью указанного потока.

Load(XmlReader)

Загружает элемент XElement из объекта XmlReader.

Комментарии

Вы можете использовать одну из перегрузок этого метода для загрузки XElement из файла, файла TextReaderили .XmlReader

Чтобы создать из XElement строки, содержащей XML, используйте Parse.

Load(TextReader, LoadOptions)

Загружает элемент XElement из объекта TextReader, при необходимости сохраняя пробелы и сведения о строке.

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

Параметры

textReader
TextReader

TextReader будет прочтен для содержимого XElement.

options
LoadOptions

LoadOptions, указывающий поведение пустого пространства и необходимость загрузки базового URI и сведений о строке.

Возвращаемое значение

XElement

XElement, содержащий XML, считанный из указанного TextReader.

Примеры

В следующем примере загружается XElement из StringReader двух разных способов: сохранение пробелов и сохранение пробелов. Затем он использует запрос для определения количества узлов пробелов в результирующем 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)  

В этом примере выводятся следующие данные:

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

В следующем примере загружаются сведения о строке при загрузке из .TextReader Затем она выводит сведения о строке.

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  

В этом примере выводятся следующие данные:

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

Комментарии

Если исходный XML-код имеет отступ, установка флага PreserveWhitespace options приводит к тому, что средство чтения считывает все пробелы в исходном XML-коде. Узлы типа XText создаются как для значительного, так и для незначительного пробела.

Если исходный XML-код имеет отступ, не устанавливая PreserveWhitespace флаг, options средство чтения игнорирует все незначительные пробелы в исходном XML-коде. Xml-дерево создается без текстовых узлов для незначительного пробела.

Если исходный XML-код не отступен, установка флага PreserveWhitespace options не действует. Значительные пробелы по-прежнему сохраняются, и нет диапазонов незначительных пробелов, которые могут привести к созданию большего количества текстовых узлов пробелов.

Дополнительные сведения см. в разделе "Сохранение пробела" при загрузке или анализе XML и сохранении пробелов при сериализации.

Используется Parse для создания XElement из строки, содержащей XML.

Параметр SetBaseUri не будет влиять при загрузке из .TextReader

Если установить SetLineInfo флаг, то производительность будет неуказана.

Сведения о строке точны сразу после загрузки XML-документа. При изменении XML-дерева после загрузки документа сведения о строке могут стать бессмысленными.

LINQ to XML функции загрузки основаны на XmlReader. Таким образом, можно перехватывать все исключения, создаваемые XmlReader.Create методами перегрузки и XmlReader методами, которые считывают и анализируют документ.

См. также раздел

Применяется к

Load(XmlReader, LoadOptions)

Загружает элемент XElement из объекта XmlReader, при необходимости оставляя пустое пространство, задавая базовый URI и сохраняя сведения о строке.

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

Параметры

reader
XmlReader

XmlReader будет прочтен для содержимого XElement.

options
LoadOptions

LoadOptions, указывающий поведение пустого пространства и необходимость загрузки базового URI и сведений о строке.

Возвращаемое значение

XElement

XElement, содержащий XML, считанный из указанного XmlReader.

Примеры

В следующем примере загружается информация о строке, которую она загружает из XmlReader. Затем она выводит сведения о строке.

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  

В этом примере выводятся следующие данные:

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

Комментарии

Создав документ XmlNodeReader DOM, а затем используя XmlNodeReader его для созданияXElement, этот метод можно использовать для создания копии документа DOM в дереве LINQ to XML.

Используется Parse для создания XElement из строки, содержащей XML.

Параметр PreserveWhitespace недействителен при загрузке из .XmlReader Он XmlReader будет настроен на чтение пробелов или нет. Дерево LINQ to XML будет заполнено узлами пробелов, которые будут отображаться средством чтения. Это будет поведение независимо от того, задано ли PreserveWhitespace оно.

Может XmlReader иметь допустимый базовый универсальный код ресурса (URI) или нет. Если этот параметр заданSetBaseUri, базовый универсальный код ресурса (URI) будет задан в xml-дереве из базового URI, который сообщается.XmlReader

Возможно XmlReader , у него есть допустимые сведения о строке. Если заданоSetLineInfo, сведения о строке будут заданы в XML-дереве из сведений о строке, о чем сообщается.XmlReader

Если установить SetLineInfo флаг, то производительность будет неуказана.

Сведения о строке точны сразу после загрузки XML-документа. При изменении XML-дерева после загрузки документа сведения о строке могут стать бессмысленными.

LINQ to XML функции загрузки основаны на XmlReader. Таким образом, можно перехватывать все исключения, создаваемые XmlReader.Create методами перегрузки и XmlReader методами, которые считывают и анализируют документ.

См. также раздел

Применяется к

Load(String, LoadOptions)

Загружает XElement из файла, по требованию сохраняет пустое пространство, задает базовый URI и сведения о строке.

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

Параметры

uri
String

Строка URI ссылается на файл для загрузки в XElement.

options
LoadOptions

LoadOptions, указывающий поведение пустого пространства и необходимость загрузки базового URI и сведений о строке.

Возвращаемое значение

XElement

Элемент XElement с содержимым указанного файла.

Примеры

В следующем примере файл загружается XElement двумя разными способами: сохранение пробелов и сохранение пробелов. Затем он использует запрос для определения количества узлов пробелов в результирующем 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)  

В этом примере выводятся следующие данные:

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

В следующем примере загружается базовый универсальный код ресурса (URI) и сведения о строке при загрузке файла. Затем он выводит базовый универсальный код ресурса (URI) и сведения о строке.

В этом примере используется следующий файл ресурсов: пример XML-файла: типичный заказ на покупку (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  

В этом примере выводятся следующие данные:

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  

Комментарии

Если исходный XML-код имеет отступ, установка флага PreserveWhitespace options приводит к тому, что средство чтения считывает все пробелы в исходном XML-коде. Узлы типа XText создаются как для значительного, так и для незначительного пробела.

Если исходный XML-код имеет отступ, не устанавливая PreserveWhitespace флаг, options средство чтения игнорирует все незначительные пробелы в исходном XML-коде. Xml-дерево создается без текстовых узлов для незначительного пробела.

Если исходный XML-код не отступен, установка флага PreserveWhitespace options не действует. Значительные пробелы по-прежнему сохраняются, и нет диапазонов незначительных пробелов, которые могут привести к созданию большего количества текстовых узлов пробелов.

Дополнительные сведения см. в разделе "Сохранение пробела" при загрузке или анализе XML и сохранении пробелов при сериализации.

Используется Parse для создания XElement из строки, содержащей XML.

Если задать SetBaseUri флаги и SetLineInfo флаги, то производительность будет неуказана.

Базовый универсальный код ресурса (URI) и сведения о строке точны сразу после загрузки XML-документа. При изменении XML-дерева после загрузки документа базовый URI и сведения о строке могут стать бессмысленными.

LINQ to XML функции загрузки основаны на XmlReader. Таким образом, можно перехватывать все исключения, создаваемые XmlReader.Create методами перегрузки и XmlReader методами, которые считывают и анализируют документ.

См. также раздел

Применяется к

Load(Stream, LoadOptions)

Создает новый экземплярXElement, используя указанный поток и при необходимости оставляя пустое пространство, задавая базовый URI и сохраняя сведения о строках.

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

Параметры

stream
Stream

Поток, содержащий данные XML.

options
LoadOptions

Объект LoadOptions, указывающий, следует ли загружать базовый URI и сведения о строках.

Возвращаемое значение

XElement

Объект XElement, который используется для чтения содержащихся в потоке данных.

Комментарии

функция загрузки LINQ to XML основана на XmlReader. Таким образом, вы можете перехватывать все исключения, создаваемые XmlReader.Create методами перегрузки и XmlReader методами, которые считывают и анализируют документ.

Если необходимо изменить XmlReaderSettings, сделайте следующее:

  1. Создайте объект XmlReader , вызвав одну из Create перегрузок, которые принимают XmlReaderSettings в качестве параметра.

  2. XmlReader Передайте одну из XElementперегрузок, Load которые принимают XmlReader в качестве параметра.

Применяется к

Load(TextReader)

Загружает XElement из 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

Параметры

textReader
TextReader

TextReader будет прочтен для содержимого XElement.

Возвращаемое значение

XElement

XElement, содержащий XML, считанный из указанного TextReader.

Примеры

В следующем примере загружается элемент из элемента 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)  

В этом примере выводятся следующие данные:

<Root>  
  <Child />  
</Root>  

Комментарии

Этот метод считывает необработанный XML-код в xml-дерево. Он удаляет все незначительные пробелы в файле.

функция загрузки LINQ to XML основана на XmlReader. Таким образом, вы можете перехватывать все исключения, создаваемые XmlReader.Create методами перегрузки и XmlReader методами, которые считывают и анализируют документ.

См. также раздел

Применяется к

Load(String)

Загружает XElement из файла.

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

Параметры

uri
String

Строка URI ссылается на файл для загрузки в новый XElement.

Возвращаемое значение

XElement

Элемент XElement с содержимым указанного файла.

Примеры

В следующем примере создается XML-дерево, сохраняется в файл, а затем используется этот метод для загрузки XElement из файла.

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)  

В этом примере выводятся следующие данные:

Root  

Комментарии

Этот метод считывает необработанный XML-код в xml-дерево. Он удаляет все незначительные пробелы в файле.

функция загрузки LINQ to XML основана на XmlReader. Таким образом, вы можете перехватывать все исключения, создаваемые XmlReader.Create методами перегрузки и XmlReader методами, которые считывают и анализируют документ.

См. также раздел

Применяется к

Load(Stream)

Создает новый экземпляр XElement с помощью указанного потока.

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

Параметры

stream
Stream

Поток, содержащий XML-данные.

Возвращаемое значение

XElement

Объект XElement, который используется для чтения содержащихся в потоке данных.

Комментарии

Если вы хотите управлять параметрами загрузки, используйте перегрузку Load , которая принимает LoadOptions в качестве параметра.

функция загрузки LINQ to XML основана на XmlReader. Таким образом, вы можете перехватывать все исключения, создаваемые XmlReader.Create методами перегрузки и XmlReader методами, которые считывают и анализируют документ.

Если необходимо изменить XmlReaderSettings, выполните следующие действия.

  1. Создайте, XmlReader вызвав одну из Create перегрузок, которые принимают XmlReaderSettings в качестве параметра.

  2. XmlReader Передайте одну из XElementперегрузок, Load которые принимают XmlReader в качестве параметра.

Применяется к

Load(XmlReader)

Загружает элемент XElement из объекта 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

Параметры

reader
XmlReader

XmlReader будет прочтен для содержимого XElement.

Возвращаемое значение

XElement

XElement, содержащий XML, считанный из указанного XmlReader.

Примеры

В следующем примере создается документ DOM, создается XmlNodeReader из документа DOM, создается экземпляр дерева из средства чтения. Этот код эффективно копирует документ DOM в дерево 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  

В этом примере выводятся следующие данные:

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

Комментарии

Создав документ XmlNodeReader DOM, а затем используя XmlNodeReader его для созданияXElement, этот метод можно использовать для создания копии документа DOM в дереве LINQ to XML.

функция загрузки LINQ to XML основана на XmlReader. Таким образом, вы можете перехватывать все исключения, создаваемые XmlReader.Create методами перегрузки и XmlReader методами, которые считывают и анализируют документ.

См. также раздел

Применяется к