XDocument.Parse Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает новый документ XDocument из строки, при необходимости оставляя пустое пространство, задавая базовый URI и сохраняя сведения о строках.
Перегрузки
Parse(String) |
Создает новый документ XDocument из строки. |
Parse(String, LoadOptions) |
Создает новый документ XDocument из строки, при необходимости оставляя пустое пространство, задавая базовый URI и сохраняя сведения о строках. |
Примеры
В следующем примере создается строка, содержащая XML. Затем он анализирует строку в .XDocument
string str =
@"<?xml version=""1.0""?>
<!-- comment at the root level -->
<Root>
<Child>Content</Child>
</Root>";
XDocument doc = XDocument.Parse(str);
Console.WriteLine(doc);
Dim str As String = _
"<?xml version= '1.0'?>" & _
"<!-- comment at the root level -->" & _
"<Root>" & _
" <Child>Content</Child>" & _
"</Root>"
Dim doc As XDocument = XDocument.Parse(str)
Console.WriteLine(doc)
В этом примере выводятся следующие данные:
<!-- comment at the root level -->
<Root>
<Child>Content</Child>
</Root>
Комментарии
Этот метод анализирует строку и создает XML-дерево.
Parse(String)
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
Создает новый документ XDocument из строки.
public:
static System::Xml::Linq::XDocument ^ Parse(System::String ^ text);
public static System.Xml.Linq.XDocument Parse (string text);
static member Parse : string -> System.Xml.Linq.XDocument
Public Shared Function Parse (text As String) As XDocument
Параметры
- text
- String
Строка, содержащая XML.
Возвращаемое значение
XDocument заполнен из строки, содержащей XML.
Примеры
В следующем примере создается строка, содержащая XML. Затем он анализирует строку в .XDocument
string str =
@"<?xml version=""1.0""?>
<!-- comment at the root level -->
<Root>
<Child>Content</Child>
</Root>";
XDocument doc = XDocument.Parse(str);
Console.WriteLine(doc);
Dim str As String = _
"<?xml version= '1.0'?>" & _
"<!-- comment at the root level -->" & _
"<Root>" & _
" <Child>Content</Child>" & _
"</Root>"
Dim doc As XDocument = XDocument.Parse(str)
Console.WriteLine(doc)
В этом примере выводятся следующие данные:
<!-- comment at the root level -->
<Root>
<Child>Content</Child>
</Root>
Комментарии
Этот метод не сохраняет пробелы. Если вы хотите сохранить пробелы в XML-дереве, используйте перегрузку , Parse которая принимает LoadOptions в качестве параметра .
Дополнительные сведения см. в разделах Сохранение пробелов при загрузке или анализе XML и Сохранение пробелов при сериализации.
функция загрузки LINQ to XML основана на XmlReader. Таким образом, можно перехватывать любые исключения, создаваемые методами XmlReader.Create перегрузки и методами XmlReader , которые считывают и анализируют документ.
См. также раздел
Применяется к
Parse(String, LoadOptions)
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
- Исходный код:
- XDocument.cs
Создает новый документ XDocument из строки, при необходимости оставляя пустое пространство, задавая базовый URI и сохраняя сведения о строках.
public:
static System::Xml::Linq::XDocument ^ Parse(System::String ^ text, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XDocument Parse (string text, System.Xml.Linq.LoadOptions options);
static member Parse : string * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XDocument
Public Shared Function Parse (text As String, options As LoadOptions) As XDocument
Параметры
- text
- String
Строка, содержащая XML.
- options
- LoadOptions
LoadOptions, указывающий поведение пустого пространства и необходимость загрузки базового URI и сведений о строке.
Возвращаемое значение
XDocument заполнен из строки, содержащей XML.
Примеры
В следующем примере выполняется синтаксический анализ строки в .XDocument
string str =
@"<?xml version=""1.0""?>
<!-- comment at the root level -->
<Root>
<Child>Content</Child>
</Root>";
XDocument doc1 = XDocument.Parse(str, LoadOptions.PreserveWhitespace);
Console.WriteLine("nodes when preserving whitespace: {0}", doc1.DescendantNodes().Count());
XDocument doc2 = XDocument.Parse(str, LoadOptions.None);
Console.WriteLine("nodes when not preserving whitespace: {0}", doc2.DescendantNodes().Count());
Dim str As String = _
"<?xml version= '1.0'?>" & Environment.NewLine & _
"<!-- comment at the root level -->" & Environment.NewLine & _
"<Root>" & Environment.NewLine & _
" <Child>Content</Child>" & Environment.NewLine & _
"</Root>"
Dim doc1 As XDocument = XDocument.Parse(str, LoadOptions.PreserveWhitespace)
Console.WriteLine("nodes when preserving whitespace: {0}", doc1.DescendantNodes().Count())
Dim doc2 As XDocument = XDocument.Parse(str, LoadOptions.None)
Console.WriteLine("nodes when not preserving whitespace: {0}", doc2.DescendantNodes().Count())
В этом примере выводятся следующие данные:
nodes when preserving whitespace: 8
nodes when not preserving whitespace: 4
Комментарии
Если исходный XML-код имеет отступ, установка флага PreserveWhitespace в options
приведет к тому, что средство чтения считывает все пробелы в исходном XML-коде. Узлы типа XText создаются как для значительного, так и для незначительного пробела.
Если исходный XML-код имеет отступ, не устанавливая PreserveWhitespace флаг в options
, читатель пропускает все незначительные пробелы в исходном XML-коде. Xml-дерево создается без текстовых узлов для незначительных пробелов.
Если исходный XML-код не имеет отступа, установка флага PreserveWhitespace в options
не влияет. Значительные пробелы по-прежнему сохраняются, и нет диапазонов незначительных пробелов, которые могли бы привести к созданию большего количества пробелов текстовых узлов.
Дополнительные сведения см. в разделах Сохранение пробелов при загрузке или анализе XML и Сохранение пробелов при сериализации.
Параметр SetBaseUri недопустим при анализе Stringиз .
Если установить флаг, это может быть снижение производительности SetLineInfo .
Сведения о строке являются точными сразу после загрузки XML-документа. Если изменить XML-дерево после загрузки документа, сведения о строке могут стать бессмысленными.
функция загрузки LINQ to XML основана на XmlReader. Таким образом, можно перехватывать любые исключения, создаваемые методами XmlReader.Create перегрузки и методами XmlReader , которые считывают и анализируют документ.