XmlDataDocument.Load Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 |
Load(TextReader) |
Charge le |
Load(String) |
Charge le |
Load(XmlReader) |
Charge le |
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.