XDocument.Load Méthode

Définition

Crée un XDocument à partir d'un fichier spécifié par un URI, d'un TextReader ou d'un XmlReader.

Surcharges

Load(Stream)

Crée une nouvelle instance de XDocument à l'aide du flux spécifié.

Load(TextReader)

Crée XDocument à partir d'un TextReader.

Load(String)

Crée un XDocument à partir d'un fichier.

Load(XmlReader)

Crée un XDocument à partir d'un XmlReader.

Load(Stream, LoadOptions)

Crée une instance XDocument à partir du flux spécifié, en conservant éventuellement l'espace blanc, en définissant l'URI de base, et en conservant les informations de ligne.

Load(TextReader, LoadOptions)

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

Load(String, LoadOptions)

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

Load(XmlReader, LoadOptions)

Charge un XDocument à partir d'un XmlReader, en définissant éventuellement l'URI de base, et en conservant les informations de ligne.

Remarques

À l’aide de l’une des surcharges de cette méthode, vous pouvez charger un XDocument fichier, un TextReaderou un XmlReader.

Pour créer une XDocument chaîne qui contient du code XML, utilisez Parse.

Load(Stream)

Crée une nouvelle instance de XDocument à l'aide du flux spécifié.

public:
 static System::Xml::Linq::XDocument ^ Load(System::IO::Stream ^ stream);
public static System.Xml.Linq.XDocument Load (System.IO.Stream stream);
static member Load : System.IO.Stream -> System.Xml.Linq.XDocument
Public Shared Function Load (stream As Stream) As XDocument

Paramètres

stream
Stream

Flux contenant les données XML.

Retours

XDocument

Objet XDocument permettant de lire les données contenues dans le flux de données.

Remarques

Si vous souhaitez contrôler les options de charge, utilisez la Load surcharge qui prend LoadOptions en tant que paramètre.

La fonctionnalité de chargement de LINQ to XML 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.

Si vous devez modifier XmlReaderSettings, procédez comme suit :

  1. Créez un XmlReader en appelant l’une des Create surcharges qui prennent XmlReaderSettings en tant que paramètre.

  2. Passez l’une XmlReader des Load surcharges de XDocument ce XmlReader paramètre.

S’applique à

Load(TextReader)

Crée XDocument à partir d'un TextReader.

public:
 static System::Xml::Linq::XDocument ^ Load(System::IO::TextReader ^ textReader);
public static System.Xml.Linq.XDocument Load (System.IO.TextReader textReader);
static member Load : System.IO.TextReader -> System.Xml.Linq.XDocument
Public Shared Function Load (textReader As TextReader) As XDocument

Paramètres

textReader
TextReader

TextReader qui contient le contenu pour le XDocument.

Retours

XDocument

XDocument qui contient le contenu du TextReader spécifié.

Exemples

L’exemple suivant crée un document à partir d’un StringReader.

TextReader tr = new StringReader("<Root>Content</Root>");  
XDocument doc = XDocument.Load(tr);  
Console.WriteLine(doc);  
Dim tr As TextReader = New StringReader("<Root>Content</Root>")  
Dim doc As XDocument = XDocument.Load(tr)  
Console.WriteLine(doc)  

Cet exemple produit la sortie suivante :

<Root>Content</Root>  

Remarques

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 à

Load(String)

Crée un XDocument à partir d'un fichier.

public:
 static System::Xml::Linq::XDocument ^ Load(System::String ^ uri);
public static System.Xml.Linq.XDocument Load (string uri);
static member Load : string -> System.Xml.Linq.XDocument
Public Shared Function Load (uri As String) As XDocument

Paramètres

uri
String

Chaîne d'URI qui référence le fichier à charger dans un nouveau XDocument.

Retours

XDocument

XDocument qui contient le contenu du fichier spécifié.

Exemples

L’exemple suivant montre comment charger un XDocument fichier à partir d’un fichier.

Cet exemple utilise le document XML suivant :

Exemple de fichier XML : Commande fournisseur standard (LINQ to XML)

XDocument doc = XDocument.Load("PurchaseOrder.xml");  
Console.WriteLine(doc);  
Dim doc As XDocument = XDocument.Load("PurchaseOrder.xml")  
Console.WriteLine(doc)  

Cet exemple produit la sortie suivante :

<PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20">  
  <Address Type="Shipping">  
    <Name>Ellen Adams</Name>  
    <Street>123 Maple Street</Street>  
    <City>Mill Valley</City>  
    <State>CA</State>  
    <Zip>10999</Zip>  
    <Country>USA</Country>  
  </Address>  
  <Address Type="Billing">  
    <Name>Tai Yee</Name>  
    <Street>8 Oak Avenue</Street>  
    <City>Old Town</City>  
    <State>PA</State>  
    <Zip>95819</Zip>  
    <Country>USA</Country>  
  </Address>  
  <DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes>  
  <Items>  
    <Item PartNumber="872-AA">  
      <ProductName>Lawnmower</ProductName>  
      <Quantity>1</Quantity>  
      <USPrice>148.95</USPrice>  
      <Comment>Confirm this is electric</Comment>  
    </Item>  
    <Item PartNumber="926-AA">  
      <ProductName>Baby Monitor</ProductName>  
      <Quantity>2</Quantity>  
      <USPrice>39.98</USPrice>  
      <ShipDate>1999-05-21</ShipDate>  
    </Item>  
  </Items>  
</PurchaseOrder>  

Remarques

Cette méthode utilise un sous-jacent XmlReader pour lire le code XML dans une arborescence XML.

Permet Parse de créer une XDocument chaîne contenant du code XML.

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 à

Load(XmlReader)

Crée un XDocument à partir d'un XmlReader.

public:
 static System::Xml::Linq::XDocument ^ Load(System::Xml::XmlReader ^ reader);
public static System.Xml.Linq.XDocument Load (System.Xml.XmlReader reader);
static member Load : System.Xml.XmlReader -> System.Xml.Linq.XDocument
Public Shared Function Load (reader As XmlReader) As XDocument

Paramètres

reader
XmlReader

XmlReader qui contient le contenu pour le XDocument.

Retours

XDocument

XDocument qui contient le contenu du XmlReader spécifié.

Exemples

L’exemple suivant crée un document DOM, crée un XmlNodeReader document DOM à partir du document DOM, crée un XDocument fichier à l’aide de .XmlNodeReader

// Create a DOM document with some content.  
XmlDocument doc = new XmlDocument();  
XmlElement child = doc.CreateElement("Child");  
child.InnerText = "child contents";  
XmlElement root = doc.CreateElement("Root");  
root.AppendChild(child);  
doc.AppendChild(root);  

// create a reader and move to the content  
using (XmlNodeReader nodeReader = new XmlNodeReader(doc)) {  
    // the reader must be in the Interactive state in order to  
    // create a LINQ to XML tree from it.  
    nodeReader.MoveToContent();  

    XDocument xRoot = XDocument.Load(nodeReader);  
    Console.WriteLine(xRoot);  
}  
' Create a DOM document with some content.  
Dim doc As XmlDocument = New XmlDocument()  
Dim child As XmlElement = doc.CreateElement("Child")  
child.InnerText = "child contents"  
Dim root As XmlElement = doc.CreateElement("Root")  
root.AppendChild(child)  
doc.AppendChild(root)  

' create a reader and move to the content  
Using nodeReader = New XmlNodeReader(doc)  
    ' the reader must be in the Interactive state in order to  
    ' create a LINQ to XML tree from it.  
    nodeReader.MoveToContent()  

    Dim xRoot As XDocument = XDocument.Load(nodeReader)  
    Console.WriteLine(xRoot)  
End Using  

Cet exemple produit la sortie suivante :

<Root>  
  <Child>child contents</Child>  
</Root>  

Remarques

Une utilisation possible pour cette méthode consiste à créer une copie d’un document DOM dans une arborescence LINQ to XML. Pour ce faire, vous créez un XmlNodeReader document DOM, puis utilisez-le XmlNodeReader pour créer un XDocument.

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 à

Load(Stream, LoadOptions)

Crée une instance XDocument à partir du flux spécifié, 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 ^ Load(System::IO::Stream ^ stream, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XDocument Load (System.IO.Stream stream, System.Xml.Linq.LoadOptions options);
static member Load : System.IO.Stream * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XDocument
Public Shared Function Load (stream As Stream, options As LoadOptions) As XDocument

Paramètres

stream
Stream

Flux contenant les données XML.

options
LoadOptions

LoadOptions qui spécifie s'il faut charger l'URI de base et les informations de ligne.

Retours

XDocument

Objet XDocument permettant de lire les données contenues dans le flux de données.

Remarques

La fonctionnalité de chargement de LINQ to XML 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.

Si vous devez modifier XmlReaderSettings, procédez comme suit :

  1. Créez un XmlReader appel en appelant l’une des Create surcharges qui prend XmlReaderSettings en tant que paramètre.

  2. Passez l’une XmlReader des Load surcharges de XDocument ce XmlReader paramètre.

S’applique à

Load(TextReader, LoadOptions)

Crée un XDocument à partir d'un TextReader, 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 ^ Load(System::IO::TextReader ^ textReader, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XDocument Load (System.IO.TextReader textReader, System.Xml.Linq.LoadOptions options);
static member Load : System.IO.TextReader * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XDocument
Public Shared Function Load (textReader As TextReader, options As LoadOptions) As XDocument

Paramètres

textReader
TextReader

TextReader qui contient le contenu pour le XDocument.

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 qui contient le code XML qui a été lu à partir du TextReaderspécifié.

Exemples

L’exemple suivant crée un document à partir d’un StringReader.

TextReader sr;  
int whiteSpaceNodes;  

sr = new StringReader("<Root> <Child> </Child> </Root>");  
XDocument xmlTree1 = XDocument.Load(sr, LoadOptions.None);  
sr.Close();  
whiteSpaceNodes = xmlTree1  
    .Element("Root")  
    .DescendantNodesAndSelf()  
    .OfType<XText>()  
    .Where(tNode => tNode.ToString().Trim().Length == 0)  
    .Count();  
Console.WriteLine("Count of white space nodes (not preserving whitespace): {0}", whiteSpaceNodes);  

sr = new StringReader("<Root> <Child> </Child> </Root>");  
XDocument xmlTree2 = XDocument.Load(sr, LoadOptions.PreserveWhitespace);  
sr.Close();  
whiteSpaceNodes = xmlTree2  
    .Element("Root")  
    .DescendantNodesAndSelf()  
    .OfType<XText>()  
    .Where(tNode => tNode.ToString().Trim().Length == 0)  
    .Count();  
Console.WriteLine("Count of white space nodes (preserving whitespace): {0}", whiteSpaceNodes);  
Dim sr As TextReader  
Dim whiteSpaceNodes As Integer  

sr = New StringReader("<Root> <Child> </Child> </Root>")  
Dim xmlTree1 As XDocument = XDocument.Load(sr, LoadOptions.None)  
sr.Close()  
whiteSpaceNodes = xmlTree1 _  
              .Element("Root") _  
              .DescendantNodesAndSelf() _  
              .OfType(Of XText)() _  
              .Where(Function(ByVal tNode As XNode) tNode. _  
                  ToString().Trim().Length = 0).Count()  
Console.WriteLine("Count of white space nodes (not preserving whitespace): {0}", whiteSpaceNodes)  

sr = New StringReader("<Root> <Child> </Child> </Root>")  
Dim xmlTree2 As XDocument = XDocument.Load(sr, LoadOptions.PreserveWhitespace)  
sr.Close()  
whiteSpaceNodes = xmlTree2 _  
              .Element("Root") _  
              .DescendantNodesAndSelf() _  
              .OfType(Of XText)() _  
              .Where(Function(ByVal tNode As XNode) tNode. _  
                  ToString().Trim().Length = 0).Count()  
Console.WriteLine("Count of white space nodes (preserving whitespace): {0}", whiteSpaceNodes)  

Cet exemple produit la sortie suivante :

Count of white space nodes (not preserving whitespace): 0  
Count of white space nodes (preserving whitespace): 3  

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.

Permet Parse de créer une XElement chaîne contenant du code XML.

Le paramètre SetBaseUri n’est pas valide lors du chargement à partir d’un TextReader.

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 à

Load(String, LoadOptions)

Crée un XDocument à partir d'un fichier, 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 ^ Load(System::String ^ uri, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XDocument Load (string uri, System.Xml.Linq.LoadOptions options);
static member Load : string * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XDocument
Public Shared Function Load (uri As String, options As LoadOptions) As XDocument

Paramètres

uri
String

Chaîne d'URI qui référence le fichier à charger dans un nouveau XDocument.

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 qui contient le contenu du fichier spécifié.

Exemples

L’exemple suivant montre comment charger un XDocument fichier à partir d’un fichier.

Cet exemple utilise le document XML suivant :

Exemple de fichier XML : Commande fournisseur standard (LINQ to XML)

XDocument doc1 = XDocument.Load("PurchaseOrder.xml", LoadOptions.None);  
Console.WriteLine("nodes if not preserving whitespace: {0}", doc1.DescendantNodes().Count());  

XDocument doc2 = XDocument.Load("PurchaseOrder.xml", LoadOptions.PreserveWhitespace);  
Console.WriteLine("nodes if preserving whitespace: {0}", doc2.DescendantNodes().Count());  
Dim doc1 As XDocument = XDocument.Load("PurchaseOrder.xml", LoadOptions.None)  
Console.WriteLine("nodes if not preserving whitespace: {0}", doc1.DescendantNodes().Count())  

Dim doc2 As XDocument = XDocument.Load("PurchaseOrder.xml", LoadOptions.PreserveWhitespace)  
Console.WriteLine("nodes if preserving whitespace: {0}", doc2.DescendantNodes().Count())  

Cet exemple produit la sortie suivante :

nodes if not preserving whitespace: 48  
nodes if preserving whitespace: 82  

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.

Permet Parse de créer une XDocument chaîne contenant du code XML.

Il existe une pénalité de performance si vous définissez les indicateurs et les SetBaseUri SetLineInfo indicateurs.

L’URI de base et 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, l’URI de base et 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 à

Load(XmlReader, LoadOptions)

Charge un XDocument à partir d'un XmlReader, en définissant éventuellement l'URI de base, et en conservant les informations de ligne.

public:
 static System::Xml::Linq::XDocument ^ Load(System::Xml::XmlReader ^ reader, System::Xml::Linq::LoadOptions options);
public static System.Xml.Linq.XDocument Load (System.Xml.XmlReader reader, System.Xml.Linq.LoadOptions options);
static member Load : System.Xml.XmlReader * System.Xml.Linq.LoadOptions -> System.Xml.Linq.XDocument
Public Shared Function Load (reader As XmlReader, options As LoadOptions) As XDocument

Paramètres

reader
XmlReader

XmlReader qui sera lu pour le contenu du XDocument.

options
LoadOptions

LoadOptions qui spécifie s'il faut charger l'URI de base et les informations de ligne.

Retours

XDocument

XDocument qui contient le code XML qui a été lu à partir du XmlReaderspécifié.

Exemples

L’exemple suivant charge les informations de ligne qu’il charge à partir du XmlReader. Il imprime ensuite les informations de ligne.

string markup =  
@"<Root>  
    <Child>  
        <GrandChild/>  
    </Child>  
</Root>";  

// Create a reader and move to the content.  
using (XmlReader nodeReader = XmlReader.Create(new StringReader(markup)))  
{  
    // the reader must be in the Interactive state in order to  
    // Create a LINQ to XML tree from it.  
    nodeReader.MoveToContent();  

    XDocument xRoot = XDocument.Load(nodeReader, LoadOptions.SetLineInfo);  
    Console.WriteLine("{0}{1}{2}",  
        "Element Name".PadRight(20),  
        "Line".PadRight(5),  
        "Position");  
    Console.WriteLine("{0}{1}{2}",  
        "------------".PadRight(20),  
        "----".PadRight(5),  
        "--------");  
    foreach (XElement e in xRoot.Elements("Root").DescendantsAndSelf())  
        Console.WriteLine("{0}{1}{2}",  
            ("".PadRight(e.Ancestors().Count() * 2) + e.Name).PadRight(20),  
            ((IXmlLineInfo)e).LineNumber.ToString().PadRight(5),  
            ((IXmlLineInfo)e).LinePosition);  
}  
Dim markup As String = _  
    "<Root>" & Environment.NewLine & _  
    "    <Child>" & Environment.NewLine & _  
    "        <GrandChild/>" & Environment.NewLine & _  
    "    </Child>" & Environment.NewLine & _  
    "</Root>"  

' Create a reader and move to the content.  
Using nodeReader As XmlReader = XmlReader.Create(New StringReader(markup))  

    ' The reader must be in the Interactive state in order to  
    ' create a LINQ to XML tree from it.  
    nodeReader.MoveToContent()  

    Dim xRoot As XDocument = XDocument.Load(nodeReader, LoadOptions.SetLineInfo)  
    Console.WriteLine("{0}{1}{2}", _  
        "Element Name".PadRight(20), _  
        "Line".PadRight(5), _  
        "Position")  
    Console.WriteLine("{0}{1}{2}", _  
        "------------".PadRight(20), _  
        "----".PadRight(5), _  
        "--------")  
    For Each e As XElement In xRoot.Elements("Root").DescendantsAndSelf()  
        Console.WriteLine("{0}{1}{2}", _  
            ("".PadRight(e.Ancestors().Count() * 2) & e.Name.ToString()).PadRight(20), _  
            (DirectCast(e, IXmlLineInfo)).LineNumber.ToString().PadRight(5), _  
            (DirectCast(e, IXmlLineInfo)).LinePosition)  
    Next  
End Using  

Cet exemple produit la sortie suivante :

Element Name        Line Position  
------------        ---- --------  
Root                1    2  
  Child             2    6  
    GrandChild      3    10  

Remarques

En créant un XmlNodeReader document DOM, puis en utilisant le XmlNodeReader pour créer un XElement, cette méthode peut être utilisée pour créer une copie d’un document DOM dans une arborescence de LINQ to XML.

Permet Parse de créer une XDocument chaîne contenant du code XML.

Le paramètre PreserveWhitespace n’est pas valide lors du chargement à partir d’un XmlReader. L’espace XmlReader blanc est configuré pour lire ou non l’espace blanc. L’arborescence LINQ to XML sera remplie avec les nœuds d’espace blanc que le lecteur surface. Il s’agit du PreserveWhitespace comportement, que ce soit défini ou non.

L’URI XmlReader de base peut avoir un URI de base valide ou non. Si vous définissez SetBaseUri, l’URI de base est défini dans l’arborescence XML à partir de l’URI de base signalé par le XmlReader.

Il XmlReader peut avoir des informations de ligne valides ou non. Si vous définissez SetLineInfo, les informations de ligne sont définies dans l’arborescence XML à partir des informations de ligne signalées par le XmlReader.

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 à