Condividi tramite


XDocument.Parse Metodo

Definizione

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

Overload

Parse(String)

Crea un nuovo oggetto XDocument da una stringa.

Parse(String, LoadOptions)

Crea un XDocument nuovo da un stringa, conservando facoltativamente 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 XDocumentoggetto .

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)

Nell'esempio viene prodotto 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

Crea un nuovo oggetto XDocument 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 che contiene XML.

Restituisce

Oggetto XDocument popolato dalla stringa che contiene il codice XML.

Esempio

Nell'esempio seguente viene creata una stringa contenente XML. Analizza quindi la stringa in un XDocumentoggetto .

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)

Nell'esempio viene prodotto l'output seguente:

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

Commenti

Questo metodo non mantiene lo spazio vuoto. Se si vuole mantenere lo spazio vuoto nell'albero XML, usare 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 La conservazione dello spazio vuotodurante la serializzazione.

la funzionalità di caricamento di LINQ to XML è basata su XmlReader. Pertanto, è possibile rilevare eventuali eccezioni generate dai metodi di overload e dai XmlReader.CreateXmlReader metodi che legge e analizzano il documento.

Vedi anche

Si applica a

Parse(String, LoadOptions)

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

Crea un XDocument nuovo da un stringa, conservando facoltativamente 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 che contiene XML.

options
LoadOptions

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

Restituisce

Oggetto XDocument popolato dalla stringa che contiene il codice XML.

Esempio

Nell'esempio seguente viene analizzata una stringa in un XDocumentoggetto .

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())

Nell'esempio viene prodotto l'output seguente:

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

Commenti

Se il valore XML di origine è rientro, l'impostazione del PreserveWhitespace flag causa options la lettura di tutti gli spazi vuoti nel codice XML di origine. I nodi di tipo XText vengono creati per spazi vuoti significativi e insignificanti.

Se il formato XML di origine è rientro, non impostando il PreserveWhitespace flag options , il lettore ignora tutti gli spazi vuoti insignificanti nel codice XML di origine. L'albero XML viene creato senza nodi di testo per spazi vuoti insignificanti.

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

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

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

Se si imposta il SetLineInfo flag, si verifica una penalità 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 senza significato.

la funzionalità di caricamento di LINQ to XML è basata su XmlReader. Pertanto, è possibile rilevare eventuali eccezioni generate dai metodi di overload e dai XmlReader.CreateXmlReader metodi che legge e analizzano il documento.

Vedi anche

Si applica a