XDocument.Parse Methode

Definitie

Hiermee maakt u een nieuwe XDocument op basis van een tekenreeks, eventueel witruimte behouden, de basis-URI instellen en regelgegevens behouden.

Overloads

Name Description
Parse(String)

Hiermee maakt u een nieuwe XDocument op basis van een tekenreeks.

Parse(String, LoadOptions)

Hiermee maakt u een nieuwe XDocument op basis van een tekenreeks, eventueel witruimte behouden, de basis-URI instellen en regelgegevens behouden.

Voorbeelden

In het volgende voorbeeld wordt een tekenreeks gemaakt die XML bevat. Vervolgens wordt de tekenreeks geparseerd in een 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 dit voorbeeld wordt de volgende uitvoer gegenereerd:

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

Opmerkingen

Met deze methode wordt een tekenreeks geparseerd en wordt een XML-structuur gemaakt.

Parse(String)

Bron:
XDocument.cs
Bron:
XDocument.cs
Bron:
XDocument.cs
Bron:
XDocument.cs
Bron:
XDocument.cs

Hiermee maakt u een nieuwe XDocument op basis van een tekenreeks.

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

Parameters

text
String

Een tekenreeks die XML bevat.

Retouren

Een XDocument ingevulde tekenreeks die XML bevat.

Voorbeelden

In het volgende voorbeeld wordt een tekenreeks gemaakt die XML bevat. Vervolgens wordt de tekenreeks geparseerd in een 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 dit voorbeeld wordt de volgende uitvoer gegenereerd:

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

Opmerkingen

Deze methode behoudt geen witruimte. Als u witruimte in de XML-structuur wilt behouden, gebruikt u de overbelasting ervan ParseLoadOptions als parameter.

Zie Witruimte behouden tijdens het laden of parseren van XML en Witruimte behouden tijdens het serialiseren van witruimte voor meer informatie.

LinQ naar XML-laadfunctionaliteit is gebaseerd op XmlReader. Daarom kunt u eventuele uitzonderingen ondervangen die worden veroorzaakt door de XmlReader.Create overbelastingsmethoden en de XmlReader methoden die het document lezen en parseren.

Zie ook

Van toepassing op

Parse(String, LoadOptions)

Bron:
XDocument.cs
Bron:
XDocument.cs
Bron:
XDocument.cs
Bron:
XDocument.cs
Bron:
XDocument.cs

Hiermee maakt u een nieuwe XDocument op basis van een tekenreeks, eventueel witruimte behouden, de basis-URI instellen en regelgegevens behouden.

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

Parameters

text
String

Een tekenreeks die XML bevat.

options
LoadOptions

Een LoadOptions die het gedrag van de witruimte aangeeft en of basis-URI en regelgegevens moeten worden geladen.

Retouren

Een XDocument ingevulde tekenreeks die XML bevat.

Voorbeelden

In het volgende voorbeeld wordt een tekenreeks geparseerd in een 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 dit voorbeeld wordt de volgende uitvoer gegenereerd:

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

Opmerkingen

Als de bron-XML is ingesprongen, zorgt het instellen van de PreserveWhitespace vlag options ervoor dat de lezer alle witruimte in de bron-XML leest. Knooppunten van het type XText worden gemaakt voor zowel significante als onbelangrijke witruimte.

Als de bron-XML is ingesprongen, hoeft u de PreserveWhitespace vlag niet in options te stellen, waardoor de lezer alle onbelangrijke witruimte in de bron-XML negeert. De XML-structuur wordt gemaakt zonder tekstknooppunten voor onbeduidende witruimte.

Als de bron-XML niet is ingesprongen, heeft het instellen van de PreserveWhitespace vlag options geen effect. Er blijft nog steeds aanzienlijke witruimte behouden en er zijn geen onbelangrijke witruimte die kan leiden tot het maken van meer witruimtetekstknooppunten.

Zie Witruimte behouden tijdens het laden of parseren van XML en Witruimte behouden tijdens het serialiseren van witruimte voor meer informatie.

Instelling SetBaseUri is niet geldig bij het parseren van een String.

Er is een prestatiestraf als u de SetLineInfo vlag instelt.

De regelgegevens zijn direct na het laden van het XML-document nauwkeurig. Als u de XML-structuur wijzigt nadat u het document hebt geladen, kan de regelinformatie betekenisloos worden.

LinQ naar XML-laadfunctionaliteit is gebaseerd op XmlReader. Daarom kunt u eventuele uitzonderingen ondervangen die worden veroorzaakt door de XmlReader.Create overbelastingsmethoden en de XmlReader methoden die het document lezen en parseren.

Zie ook

Van toepassing op