Partager via


XDocument.Parse Méthode

Définition

Crée un XDocument à partir d'une chaîne, en conservant éventuellement l'espace blanc, en définissant l'URI de base, et en conservant les informations de ligne.

Surcharges

Parse(String)

Crée un XDocument à partir d'une chaîne.

Parse(String, LoadOptions)

Crée un XDocument à partir d'une chaîne, en conservant éventuellement l'espace blanc, en définissant l'URI de base, et en conservant les informations de ligne.

Exemples

L’exemple suivant crée une chaîne qui contient du code XML. Elle analyse ensuite la chaîne en un 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)  

Cet exemple produit la sortie suivante :

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

Remarques

Cette méthode analyse une chaîne et crée une arborescence XML.

Parse(String)

Crée un XDocument à partir d'une chaîne.

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

Paramètres

text
String

Chaîne qui contient le code XML.

Retours

XDocument

XDocument rempli à partir de la chaîne qui contient le code XML.

Exemples

L’exemple suivant crée une chaîne qui contient du code XML. Elle analyse ensuite la chaîne en un 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)  

Cet exemple produit la sortie suivante :

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

Remarques

Cette méthode ne conserve pas l’espace blanc. Si vous souhaitez conserver l’espace blanc dans l’arborescence XML, utilisez la surcharge de Parse ce LoadOptions paramètre.

Pour plus d’informations, consultez Conserver l’espace blanc lors du chargement ou de l’analyse du code XML et conserver l’espace blanc lors de la sérialisation.

LINQ to XML la fonctionnalité de chargement est basée sur XmlReader. Par conséquent, vous pouvez intercepter les exceptions levées par les XmlReader.Create méthodes de surcharge et les XmlReader méthodes qui lisent et analysent le document.

Voir aussi

S’applique à

Parse(String, LoadOptions)

Crée un XDocument à partir d'une chaîne, en conservant éventuellement l'espace blanc, en définissant l'URI de base, et en conservant les informations de ligne.

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

Paramètres

text
String

Chaîne qui contient le code XML.

options
LoadOptions

LoadOptions qui spécifie le comportement pour les espaces blancs et détermine s'il faut charger l'URI de base et les informations de ligne.

Retours

XDocument

XDocument rempli à partir de la chaîne qui contient le code XML.

Exemples

L’exemple suivant analyse une chaîne dans un 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())  

Cet exemple produit la sortie suivante :

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

Remarques

Si le code XML source est mis en retrait, la définition de l’indicateur PreserveWhitespace entraîne options la lecture de tous les espaces blancs dans le code XML source. Les nœuds de type XText sont créés pour un espace blanc significatif et non significatif.

Si le code XML source est mis en retrait, ne définissez pas l’indicateur PreserveWhitespace dans options lequel le lecteur doit ignorer tous les espaces blancs non significatifs dans le code XML source. L’arborescence XML est créée sans aucun nœud de texte pour un espace blanc non significatif.

Si le code XML source n’est pas mis en retrait, la définition de l’indicateur PreserveWhitespace n’a options aucun effet. L’espace blanc important est toujours conservé et il n’y a pas d’étendues d’espace blanc non significatif qui pourrait entraîner la création de nœuds de texte d’espace blanc plus.

Pour plus d’informations, consultez Conserver l’espace blanc lors du chargement ou de l’analyse du code XML et conserver l’espace blanc lors de la sérialisation.

Le paramètre SetBaseUri n’est pas valide lors de l’analyse à partir d’un String.

Il existe une pénalité de performance si vous définissez l’indicateur SetLineInfo .

Les informations de ligne sont exactes immédiatement après le chargement du document XML. Si vous modifiez l’arborescence XML après le chargement du document, les informations de ligne peuvent devenir sans signification.

LINQ to XML la fonctionnalité de chargement est basée sur XmlReader. Par conséquent, vous pouvez intercepter les exceptions levées par les XmlReader.Create méthodes de surcharge et les XmlReader méthodes qui lisent et analysent le document.

Voir aussi

S’applique à