Compartilhar via


XDocument.Parse Método

Definição

Cria um novo XDocument de uma cadeia de caracteres, com a opção de preservar espaços em branco, definir o URI base e reter as informações de linha.

Sobrecargas

Parse(String)

Cria um novo XDocument com base em uma cadeia de caracteres.

Parse(String, LoadOptions)

Cria um novo XDocument de uma cadeia de caracteres, com a opção de preservar espaços em branco, definir o URI base e reter as informações de linha.

Exemplos

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

Esse exemplo gera a saída a seguir:

<!-- 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 com base em 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

XDocument

Um XDocument populado com base na cadeia de caracteres que contém o XML.

Exemplos

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

Esse exemplo gera a saída a seguir:

<!-- 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 espaço em branco ao carregar ou analisar XML e Preservar 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, com a opção de preservar espaços em branco, definir o URI base e reter as 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

LoadOptions que especificam o comportamento de espaço em branco e se serão carregadas as informações de linha e o URI base.

Retornos

XDocument

Um XDocument populado com base na cadeia de caracteres que contém o 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())  

Esse exemplo gera a saída a seguir:

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 configuraçã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 espaço em branco ao carregar ou analisar XML e Preservar espaço em branco durante a serialização.

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

Haverá 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 se tornar 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