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 из файла, файла 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, содержащий 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)
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
Параметры
- options
- LoadOptions
LoadOptions, указывающий поведение пустого пространства и необходимость загрузки базового URI и сведений о строке.
Возвращаемое значение
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
Параметры
- options
- LoadOptions
LoadOptions, указывающий поведение пустого пространства и необходимость загрузки базового URI и сведений о строке.
Возвращаемое значение
Элемент 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, который используется для чтения содержащихся в потоке данных.
Комментарии
функция загрузки LINQ to XML основана на XmlReader. Таким образом, вы можете перехватывать все исключения, создаваемые XmlReader.Create методами перегрузки и XmlReader методами, которые считывают и анализируют документ.
Если необходимо изменить XmlReaderSettings, сделайте следующее:
Создайте объект XmlReader , вызвав одну из Create перегрузок, которые принимают XmlReaderSettings в качестве параметра.
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, содержащий 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
Параметры
Возвращаемое значение
Элемент 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, который используется для чтения содержащихся в потоке данных.
Комментарии
Если вы хотите управлять параметрами загрузки, используйте перегрузку Load , которая принимает LoadOptions в качестве параметра.
функция загрузки LINQ to XML основана на XmlReader. Таким образом, вы можете перехватывать все исключения, создаваемые XmlReader.Create методами перегрузки и XmlReader методами, которые считывают и анализируют документ.
Если необходимо изменить XmlReaderSettings, выполните следующие действия.
Создайте, XmlReader вызвав одну из Create перегрузок, которые принимают XmlReaderSettings в качестве параметра.
XmlReader Передайте одну из XElementперегрузок, Load которые принимают XmlReader в качестве параметра.
Применяется к
Load(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
Параметры
Возвращаемое значение
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 методами, которые считывают и анализируют документ.