XDocument.Parse Método

Definição

Cria um novo XDocument de uma cadeia de caracteres, preservando opcionalmente o espaço em branco, definindo o URI base e retendo informações de linha.

Sobrecargas

Nome Description
Parse(String)

Cria um novo XDocument de uma cadeia de caracteres.

Parse(String, LoadOptions)

Cria um novo XDocument de uma cadeia de caracteres, preservando opcionalmente o espaço em branco, definindo o URI base e retendo informações de linha.

Exemplos

O exemplo a seguir cria uma cadeia de caracteres que contém XML. Em seguida, analisa a cadeia de caracteres em um 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)

Este exemplo produz a seguinte saída:

<!-- comment at the root level -->
<Root>
  <Child>Content</Child>
</Root>

Comentários

Esse método analisa uma cadeia de caracteres e cria uma árvore XML.

Parse(String)

Cria um novo XDocument de uma cadeia de caracteres.

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

Parâmetros

text
String

Uma cadeia de caracteres que contém XML.

Retornos

Um XDocument populado da cadeia de caracteres que contém XML.

Exemplos

O exemplo a seguir cria uma cadeia de caracteres que contém XML. Em seguida, analisa a cadeia de caracteres em um 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)

Este exemplo produz a seguinte saída:

<!-- comment at the root level -->
<Root>
  <Child>Content</Child>
</Root>

Comentários

Esse método não preserva o espaço em branco. Se você quiser preservar o espaço em branco na árvore XML, use a sobrecarga que Parse usa LoadOptions como parâmetro.

Para obter mais informações, consulte Preservar o espaço em branco ao carregar ou analisar XML e preservar o espaço em branco durante a serialização.

A funcionalidade de carregamento do LINQ to XML é criada.XmlReader Portanto, você pode capturar quaisquer exceções geradas pelos XmlReader.Create métodos de sobrecarga e pelos XmlReader métodos que leem e analisam o documento.

Confira também

Aplica-se a

Parse(String, LoadOptions)

Cria um novo XDocument de uma cadeia de caracteres, preservando opcionalmente o espaço em branco, definindo o URI base e retendo informações de linha.

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

Parâmetros

text
String

Uma cadeia de caracteres que contém XML.

options
LoadOptions

Um LoadOptions que especifica o comportamento do espaço em branco e se as informações de linha e URI base devem ser carregadas.

Retornos

Um XDocument populado da cadeia de caracteres que contém XML.

Exemplos

O exemplo a seguir analisa uma cadeia de caracteres em um 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())

Este exemplo produz a seguinte saída:

nodes when preserving whitespace: 8
nodes when not preserving whitespace: 4

Comentários

Se o XML de origem estiver recuado, definir o PreserveWhitespace sinalizador options fará com que o leitor leia todo o espaço em branco no XML de origem. Nós de tipo XText são criados para espaço em branco significativo e insignificante.

Se o XML de origem estiver recuado, não definir o PreserveWhitespace sinalizador options fará com que o leitor ignore todo o espaço em branco insignificante no XML de origem. A árvore XML é criada sem nenhum nó de texto para espaço em branco insignificante.

Se o XML de origem não estiver recuado, a definição do PreserveWhitespace sinalizador options não terá efeito. Espaço em branco significativo ainda é preservado e não há intervalos de espaço em branco insignificante que possam causar a criação de mais nós de texto de espaço em branco.

Para obter mais informações, consulte Preservar o espaço em branco ao carregar ou analisar XML e preservar o espaço em branco durante a serialização.

A configuração SetBaseUri não é válida ao analisar de um String.

Há uma penalidade de desempenho se você definir o SetLineInfo sinalizador.

As informações de linha são precisas imediatamente após o carregamento do documento XML. Se você modificar a árvore XML depois de carregar o documento, as informações de linha poderão ficar sem sentido.

A funcionalidade de carregamento do LINQ to XML é criada.XmlReader Portanto, você pode capturar quaisquer exceções geradas pelos XmlReader.Create métodos de sobrecarga e pelos XmlReader métodos que leem e analisam o documento.

Confira também

Aplica-se a