Partager via


XmlDataDocument.Load Méthode

Définition

Charge XmlDataDocument en utilisant la source de données spécifiée et synchronise DataSet avec les données chargées.

Surcharges

Load(Stream)

Charge le XmlDataDocument à partir du flux spécifié.

Load(TextReader)

Charge le XmlDataDocument à partir du TextReader spécifié.

Load(String)

Charge le XmlDataDocument à partir de l'URL spécifiée.

Load(XmlReader)

Charge le XmlDataDocument à partir du XmlReader spécifié.

Remarques

Notes

Pour afficher les données XML relationnellement, vous devez d’abord spécifier un schéma à utiliser pour le mappage de données. Cela peut être effectué en appelant la ReadXmlSchema méthode ou en créant les tables et les colonnes dans le DataSet manuel. Cette étape doit être effectuée avant d’appeler Load.

XmlDataDocument ne prend pas en charge la création de références d’entité. Si les données incluent des références d’entité, la Load méthode résout et développe toutes les références d’entité. Toutefois, si vous utilisez la Load surcharge qui prend un XmlReader argument, vous devez spécifier une XmlReader entité pouvant résoudre les entités.

Load(Stream)

Charge le XmlDataDocument à partir du flux spécifié.

public:
 override void Load(System::IO::Stream ^ inStream);
public override void Load (System.IO.Stream inStream);
override this.Load : System.IO.Stream -> unit
Public Overrides Sub Load (inStream As Stream)

Paramètres

inStream
Stream

Flux contenant le document XML à charger.

Remarques

XmlDataDocument ne prend pas en charge la création de références d’entité. Si les données incluent des références d’entité, la Load méthode résout et développe toutes les références d’entité.

Notes

Pour afficher les données XML relationnellement, vous devez d’abord spécifier un schéma à utiliser pour le mappage de données. Cela peut être effectué en appelant la ReadXmlSchema méthode ou en créant les tables et les colonnes dans le DataSet manuel. Cette étape doit être effectuée avant d’appeler Load.

S’applique à

Load(TextReader)

Charge le XmlDataDocument à partir du TextReader spécifié.

public:
 override void Load(System::IO::TextReader ^ txtReader);
public override void Load (System.IO.TextReader txtReader);
override this.Load : System.IO.TextReader -> unit
Public Overrides Sub Load (txtReader As TextReader)

Paramètres

txtReader
TextReader

L'élément TextReader utilisé pour introduire les données XML dans le document.

Remarques

XmlDataDocument ne prend pas en charge la création de références d’entité. Si les données incluent des références d’entité, la Load méthode résout et développe toutes les références d’entité.

Notes

Pour afficher les données XML relationnellement, vous devez d’abord spécifier un schéma à utiliser pour le mappage de données. Cela peut être effectué en appelant la ReadXmlSchema méthode ou en créant les tables et les colonnes dans le DataSet manuel. Cette étape doit être effectuée avant d’appeler Load.

S’applique à

Load(String)

Charge le XmlDataDocument à partir de l'URL spécifiée.

public:
 override void Load(System::String ^ filename);
public override void Load (string filename);
override this.Load : string -> unit
Public Overrides Sub Load (filename As String)

Paramètres

filename
String

URL du fichier contenant le document XML à charger.

Remarques

XmlDataDocument ne prend pas en charge la création de références d’entité. Si les données incluent des références d’entité, la Load méthode résout et développe toutes les références d’entité.

Notes

Pour afficher les données XML relationnellement, vous devez d’abord spécifier un schéma à utiliser pour le mappage de données. Cela peut être effectué en appelant la ReadXmlSchema méthode ou en créant les tables et les colonnes dans le DataSet manuel. Cette étape doit être effectuée avant d’appeler Load.

S’applique à

Load(XmlReader)

Charge le XmlDataDocument à partir du XmlReader spécifié.

public:
 override void Load(System::Xml::XmlReader ^ reader);
public override void Load (System.Xml.XmlReader reader);
override this.Load : System.Xml.XmlReader -> unit
Public Overrides Sub Load (reader As XmlReader)

Paramètres

reader
XmlReader

XmlReader contenant le document XML à charger.

Exceptions

Le XML en cours de chargement contient des références d'entités et le lecteur ne peut pas résoudre les entités.

Exemples

L’exemple suivant modifie le prix d’un livre à l’aide des DataSet méthodes.

#using <System.dll>
#using <System.Data.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::Data;
using namespace System::Xml;
int main()
{
   // Create an XmlDataDocument.
   XmlDataDocument^ doc = gcnew XmlDataDocument;

   // Load the schema file.
   doc->DataSet->ReadXmlSchema( "store.xsd" );

   // Load the XML data.
   XmlTextReader^ reader = gcnew XmlTextReader( "2books.xml" );
   reader->MoveToContent(); // Moves the reader to the root node.
   doc->Load( reader );

   // Update the price on the first book using the DataSet methods.
   DataTable^ books = doc->DataSet->Tables["book"];
   books->Rows[0]["price"] = "12.95";
   Console::WriteLine( "Display the modified XML data..." );
   doc->Save( Console::Out );
}
using System;
using System.Data;
using System.Xml;
public class Sample {
    public static void Main() {
        // Create an XmlDataDocument.
        XmlDataDocument doc = new XmlDataDocument();

        // Load the schema file.
        doc.DataSet.ReadXmlSchema("store.xsd");

        // Load the XML data.
        XmlTextReader reader = new XmlTextReader("2books.xml");
        reader.MoveToContent(); // Moves the reader to the root node.
        doc.Load(reader);

        // Update the price on the first book using the DataSet methods.
        DataTable books = doc.DataSet.Tables["book"];
        books.Rows[0]["price"] = "12.95";

        Console.WriteLine("Display the modified XML data...");
        doc.Save(Console.Out);
    }
} // End class
Imports System.Data
Imports System.Xml

public class Sample

  public shared sub Main()

      'Create an XmlDataDocument.
      Dim doc as XmlDataDocument = new XmlDataDocument()

      'Load the schema.
      doc.DataSet.ReadXmlSchema("store.xsd") 
 
      'Load the XML data.
      Dim reader as XmlTextReader = new XmlTextReader("2books.xml")
      reader.MoveToContent() 'Moves the reader to the root node.
      doc.Load(reader)
        
     'Change the price on the first book imports the DataSet methods.
     Dim books as DataTable = doc.DataSet.Tables.Item("book")
     books.Rows.Item(0).Item("price") = "12.95"
        
     Console.WriteLine("Display the modified XML data...")
     doc.Save(Console.Out)

  end sub
end class

L’exemple utilise les deux fichiers d’entrée suivants.

2books.xml

<!--sample XML fragment-->
<bookstore>
  <book genre='novel' ISBN='10-861003-324'>
    <title>The Handmaid's Tale</title>
    <price>19.95</price>
  </book>
  <book genre='novel' ISBN='1-861001-57-5'>
    <title>Pride And Prejudice</title>
    <price>24.95</price>
  </book>
</bookstore>

store.xsd

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema">

 <xsd:element name="bookstore" type="bookstoreType"/>

 <xsd:complexType name="bookstoreType">
  <xsd:sequence maxOccurs="unbounded">
   <xsd:element name="book"  type="bookType"/>
  </xsd:sequence>
 </xsd:complexType>

 <xsd:complexType name="bookType">
  <xsd:sequence>
   <xsd:element name="title" type="xsd:string"/>
   <xsd:element name="author" type="authorName"/>
   <xsd:element name="price"  type="xsd:decimal"/>
  </xsd:sequence>
  <xsd:attribute name="genre" type="xsd:string"/>
 </xsd:complexType>

 <xsd:complexType name="authorName">
  <xsd:sequence>
   <xsd:element name="first-name"  type="xsd:string"/>
   <xsd:element name="last-name" type="xsd:string"/>
  </xsd:sequence>
 </xsd:complexType>

</xsd:schema>

Remarques

XmlDataDocument ne prend pas en charge la création de références d’entité. Si la source de données contient des références d’entité, vous devez créer une XmlValidatingReader propriété définie sur EntityHandling EntityHandling.ExpandEntities (il s’agit du comportement par défaut) et transmettre la XmlValidatingReader Load méthode. Si vous n’utilisez pas d’exception XmlValidatingReader, la Load méthode lève une exception.

La Load méthode conserve toujours un espace blanc significatif. La PreserveWhitespace propriété détermine si l’espace blanc est conservé ou non. La valeur par défaut est false, l’espace blanc n’est pas conservé.

Si le lecteur est dans l’état initial (autrement dit, ReadState=ReadState.Initial), Load consomme l’intégralité du contenu du lecteur et génère le DOM à partir de ce qu’il trouve.

Si le lecteur est déjà positionné sur un nœud à la profondeur « n », cette méthode charge ce nœud et tous les frères et frères suivants jusqu’à la balise de fin qui ferme la profondeur « n ». Cela a les résultats suivants.

Si le nœud actuel et ses frères suivants ressemblent à ce qui suit :

<!--comment--><element1>one</element1><element2>two</element2>  

Load lève une exception, car un document ne peut pas avoir deux éléments de niveau racine. Si le nœud actuel et ses frères suivants ressemblent à ce qui suit :

<!--comment--><?process  
    instruction?><!--comment--></endtag>  

Load réussira ; Toutefois, vous disposez d’une arborescence DOM incomplète, car il n’existe aucun élément de niveau racine. Vous devez ajouter un élément de niveau racine avant d’enregistrer le document; sinon, la Save méthode lève une exception.

Si le lecteur est positionné sur un nœud sans descendant non valide pour le niveau racine d'un document (par exemple, un espace blanc ou un nœud d'attribut), le lecteur poursuit la lecture jusqu'à se positionner sur un nœud pouvant être utilisé pour la racine. Le chargement du document démarre à ce stade.

S’applique à