XDocument.Parse Metodo

Definizione

Crea un nuovo XDocument oggetto da una stringa, mantenendo facoltativamente lo spazio vuoto, impostando l'URI di base e mantenendo le informazioni sulla riga.

Overload

Nome Descrizione
Parse(String)

Crea un nuovo XDocument oggetto da una stringa.

Parse(String, LoadOptions)

Crea un nuovo XDocument oggetto da una stringa, mantenendo facoltativamente lo spazio vuoto, impostando l'URI di base e mantenendo le informazioni sulla riga.

Esempio

Nell'esempio seguente viene creata una stringa contenente xml. Analizza quindi la stringa in un oggetto 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)

In questo esempio viene generato l'output seguente:

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

Commenti

Questo metodo analizza una stringa e crea un albero XML.

Parse(String)

Origine:
XDocument.cs
Origine:
XDocument.cs
Origine:
XDocument.cs
Origine:
XDocument.cs
Origine:
XDocument.cs

Crea un nuovo XDocument oggetto da una stringa.

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

Parametri

text
String

Stringa contenente XML.

Valori restituiti

Oggetto XDocument popolato dalla stringa che contiene XML.

Esempio

Nell'esempio seguente viene creata una stringa contenente xml. Analizza quindi la stringa in un oggetto 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)

In questo esempio viene generato l'output seguente:

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

Commenti

Questo metodo non mantiene lo spazio vuoto. Se si desidera mantenere lo spazio vuoto nell'albero XML, utilizzare l'overload di Parse che accetta LoadOptions come parametro.

Per altre informazioni, vedere Mantenere lo spazio vuoto durante il caricamento o l'analisi di XML e Mantenere lo spazio vuoto durante la serializzazione.

La funzionalità di caricamento di LINQ to XML è basata su XmlReader. Pertanto, è possibile intercettare eventuali eccezioni generate dai XmlReader.Create metodi di overload e dai XmlReader metodi che leggono e analizzano il documento.

Vedi anche

Si applica a

Parse(String, LoadOptions)

Origine:
XDocument.cs
Origine:
XDocument.cs
Origine:
XDocument.cs
Origine:
XDocument.cs
Origine:
XDocument.cs

Crea un nuovo XDocument oggetto da una stringa, mantenendo facoltativamente lo spazio vuoto, impostando l'URI di base e mantenendo le informazioni sulla riga.

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

Parametri

text
String

Stringa contenente XML.

options
LoadOptions

Oggetto LoadOptions che specifica il comportamento dello spazio vuoto e se caricare le informazioni sull'URI di base e sulla riga.

Valori restituiti

Oggetto XDocument popolato dalla stringa che contiene XML.

Esempio

Nell'esempio seguente viene analizzata una stringa in un oggetto 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())

In questo esempio viene generato l'output seguente:

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

Commenti

Se il formato XML di origine è rientrato, l'impostazione del PreserveWhitespace flag in options fa sì che il lettore legga tutti gli spazi vuoti nel codice XML di origine. I nodi di tipo XText vengono creati per spazi vuoti significativi e non significativi.

Se il rientro del codice XML di origine non viene impostato, l'impostazione del PreserveWhitespace flag in options fa sì che il lettore ignori tutti gli spazi vuoti non significativi nel codice XML di origine. L'albero XML viene creato senza nodi di testo per spazi vuoti non significativi.

Se il codice XML di origine non è rientrato, l'impostazione del PreserveWhitespace flag in options non ha alcun effetto. Gli spazi vuoti significativi vengono ancora mantenuti e non sono presenti intervalli di spazi vuoti non significativi che potrebbero causare la creazione di più nodi di testo dello spazio vuoto.

Per altre informazioni, vedere Mantenere lo spazio vuoto durante il caricamento o l'analisi di XML e Mantenere lo spazio vuoto durante la serializzazione.

L'impostazione SetBaseUri non è valida durante l'analisi da un oggetto String.

Se si imposta il SetLineInfo flag, si verifica una riduzione delle prestazioni.

Le informazioni sulla riga sono accurate immediatamente dopo il caricamento del documento XML. Se si modifica l'albero XML dopo il caricamento del documento, le informazioni sulla riga potrebbero diventare inutili.

La funzionalità di caricamento di LINQ to XML è basata su XmlReader. Pertanto, è possibile intercettare eventuali eccezioni generate dai XmlReader.Create metodi di overload e dai XmlReader metodi che leggono e analizzano il documento.

Vedi anche

Si applica a