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

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

Параметр SetBaseUri недопустим при синтаксическом анализе String.

При установке флага SetLineInfo существует штраф производительности.

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

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

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

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