Comparteix a través de


XDocument.Parse Método

Definición

Crea un objeto XDocument nuevo a partir de una cadena, opcionalmente se conserva el espacio en blanco, se establece el URI base y la información de línea.

Sobrecargas

Parse(String)

Crea un nuevo XDocument a partir de una cadena.

Parse(String, LoadOptions)

Crea un objeto XDocument nuevo a partir de una cadena, opcionalmente se conserva el espacio en blanco, se establece el URI base y la información de línea.

Ejemplos

En el ejemplo siguiente se crea una cadena que contiene XML. A continuación, analiza la cadena en .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 ejemplo produce el siguiente resultado:

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

Comentarios

Este método analiza una cadena y crea un árbol XML.

Parse(String)

Source:
XDocument.cs
Source:
XDocument.cs
Source:
XDocument.cs

Crea un nuevo XDocument a partir de una cadena.

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

Cadena que contiene XML.

Devoluciones

XDocument rellenado a partir de la cadena que contiene XML.

Ejemplos

En el ejemplo siguiente se crea una cadena que contiene XML. A continuación, analiza la cadena en .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 ejemplo produce el siguiente resultado:

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

Comentarios

Este método no conserva el espacio en blanco. Si desea conservar el espacio en blanco en el árbol XML, use la sobrecarga de Parse que toma LoadOptions como parámetro.

Para obtener más información, vea Conservar el espacio en blanco al cargar o analizar XML y Conservar espacio en blanco mientras se serializa.

la funcionalidad de carga de LINQ to XML se basa en XmlReader. Por lo tanto, puede detectar las excepciones producidas por los XmlReader.Create métodos de sobrecarga y los XmlReader métodos que leen y analizan el documento.

Consulte también

Se aplica a

Parse(String, LoadOptions)

Source:
XDocument.cs
Source:
XDocument.cs
Source:
XDocument.cs

Crea un objeto XDocument nuevo a partir de una cadena, opcionalmente se conserva el espacio en blanco, se establece el URI base y la información de línea.

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

Cadena que contiene XML.

options
LoadOptions

LoadOptions que especifica el comportamiento de los espacios en blanco y si se carga la información del URI base y de la línea base.

Devoluciones

XDocument rellenado a partir de la cadena que contiene XML.

Ejemplos

En el ejemplo siguiente se analiza una cadena en .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 ejemplo produce el siguiente resultado:

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

Comentarios

Si el XML de origen tiene sangría, establecer la PreserveWhitespace marca en options hace que el lector lea todos los espacios en blanco del XML de origen. Los nodos de tipo XText se crean para espacios en blanco significativos e insignificantes.

Si se aplica sangría al XML de origen, no establecer la PreserveWhitespace marca en options hace que el lector omita todos los espacios en blanco insignificantes en el XML de origen. El árbol XML se crea sin ningún nodo de texto para espacios en blanco insignificantes.

Si no se aplica sangría al XML de origen, establecer la PreserveWhitespace marca en options no tiene ningún efecto. Todavía se conserva un espacio en blanco significativo y no hay intervalos de espacios en blanco insignificantes que podrían provocar la creación de más nodos de texto de espacio en blanco.

Para obtener más información, vea Conservar el espacio en blanco al cargar o analizar XML y Conservar espacio en blanco mientras se serializa.

La configuración SetBaseUri no es válida al analizar desde .String

Hay una penalización de rendimiento si establece la SetLineInfo marca.

La información de línea es precisa inmediatamente después de cargar el documento XML. Si modifica el árbol XML después de cargar el documento, es posible que la información de línea no tenga sentido.

la funcionalidad de carga de LINQ to XML se basa en XmlReader. Por lo tanto, puede detectar las excepciones producidas por los XmlReader.Create métodos de sobrecarga y los XmlReader métodos que leen y analizan el documento.

Consulte también

Se aplica a