XmlDataDocument.Load Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Lädt das XmlDataDocument
mithilfe der angegebenen Datenquelle und synchronisiert das DataSet mit den geladenen Daten.
Überlädt
Load(Stream) |
Lädt das |
Load(TextReader) |
Lädt das |
Load(String) |
Lädt das |
Load(XmlReader) |
Lädt das |
Hinweise
Hinweis
Um die XML-Daten relational anzuzeigen, müssen Sie zunächst ein Schema angeben, das für die Datenzuordnung verwendet werden soll. Dies kann entweder durch Aufrufen der Methode oder durch Das Erstellen der ReadXmlSchema Tabellen und Spalten innerhalb des DataSet
manuellen Vorgangs erfolgen. Dieser Schritt muss ausgeführt werden, bevor Sie anrufen Load
.
XmlDataDocument
Unterstützt das Erstellen von Entitätsverweisen nicht. Wenn die Daten Entitätsbezüge enthalten, löst die Load
Methode alle Entitätsbezüge auf und erweitert sie. Wenn Sie jedoch die Überladung verwenden, die Load
als XmlReader Argument verwendet wird, müssen Sie eine XmlReader
Angabe angeben, die Entitäten auflösen kann.
Load(Stream)
Lädt das XmlDataDocument
aus dem angegebenen Stream.
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)
Parameter
- inStream
- Stream
Der Stream, der das zu ladende XML-Dokument enthält.
Hinweise
XmlDataDocument
Unterstützt das Erstellen von Entitätsverweisen nicht. Wenn die Daten Entitätsbezüge enthalten, löst die Load
Methode alle Entitätsbezüge auf und erweitert sie.
Hinweis
Um die XML-Daten relational anzuzeigen, müssen Sie zunächst ein Schema angeben, das für die Datenzuordnung verwendet werden soll. Dies kann entweder durch Aufrufen der Methode oder durch Das Erstellen der ReadXmlSchema Tabellen und Spalten innerhalb des DataSet
manuellen Vorgangs erfolgen. Dieser Schritt muss ausgeführt werden, bevor Sie anrufen Load
.
Gilt für
Load(TextReader)
Lädt das XmlDataDocument
aus dem angegebenen TextReader.
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)
Parameter
- txtReader
- TextReader
Der zum Übertragen von XML-Daten in das Dokument verwendete TextReader
.
Hinweise
XmlDataDocument
Unterstützt das Erstellen von Entitätsverweisen nicht. Wenn die Daten Entitätsverweise enthalten, wird die Load
Methode aufgelöst und erweitert alle Entitätsverweise.
Hinweis
Um die XML-Daten relational anzuzeigen, müssen Sie zunächst ein Schema angeben, das für die Datenzuordnung verwendet werden soll. Dies kann entweder durch Aufrufen der ReadXmlSchema Methode oder durch manuelles Erstellen der Tabellen und Spalten erfolgen DataSet
. Dieser Schritt muss vor dem Aufrufen Load
erfolgen.
Gilt für
Load(String)
Lädt das XmlDataDocument
mit der angegebenen URL.
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)
Parameter
- filename
- String
Die URL der Datei, die das zu ladende XML-Dokument enthält.
Hinweise
XmlDataDocument
unterstützt das Erstellen von Entitätsverweise nicht. Wenn die Daten Entitätsverweise enthalten, wird die Load
Methode aufgelöst und erweitert alle Entitätsverweise.
Hinweis
Um die XML-Daten relational anzuzeigen, müssen Sie zunächst ein Schema angeben, das für die Datenzuordnung verwendet werden soll. Dies kann entweder durch Aufrufen der ReadXmlSchema Methode oder durch manuelles Erstellen der Tabellen und Spalten erfolgen DataSet
. Dieser Schritt muss vor dem Aufrufen Load
erfolgen.
Gilt für
Load(XmlReader)
Lädt das XmlDataDocument
aus dem angegebenen XmlReader.
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)
Parameter
- reader
- XmlReader
Der XmlReader
, der das zu ladende XML-Dokument enthält.
Ausnahmen
Die geladenen XML-Daten enthalten Entitätsverweise, und der Reader kann Entitäten nicht auflösen.
Beispiele
Im folgenden Beispiel wird der Preis eines Buchs mithilfe der DataSet
Methoden geändert.
#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
Im Beispiel werden die folgenden beiden Eingabedateien verwendet.
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>
Hinweise
XmlDataDocument
unterstützt das Erstellen von Entitätsverweise nicht. Wenn die Datenquelle Entitätsverweise enthält, müssen Sie eine XmlValidatingReader mit der EntityHandling Eigenschaft auf EntityHandling.ExpandEntities (dies ist das Standardverhalten) erstellen und die XmlValidatingReader
Load
Methode übergeben. Wenn Sie keine Verwendung verwenden XmlValidatingReader
, löst die Load
Methode eine Ausnahme aus.
Die Load
Methode behält immer einen erheblichen Leerraum bei. Die PreserveWhitespace Eigenschaft bestimmt, ob Leerzeichen beibehalten werden. Der Standardwert ist false
, Leerzeichen bleiben nicht erhalten.
Wenn sich der Leser im Anfangszustand befindet (d. h. ReadState=ReadState.Initial), Load
verwendet den gesamten Inhalt des Reader und erstellt das DOM aus dem gefundenen Element.
Wenn der Leser bereits auf einem Knoten in der Tiefe "n" positioniert ist, lädt diese Methode diesen Knoten und alle nachfolgenden gleichgeordneten Elemente bis zum Endtag, das die Tiefe "n" schließt. Dies hat die folgenden Ergebnisse.
Wenn der aktuelle Knoten und die folgenden gleichgeordneten Knoten wie folgt aussehen:
<!--comment--><element1>one</element1><element2>two</element2>
Load
löst eine Ausnahme aus, da ein Dokument nicht über zwei Elemente auf Stammebene verfügen kann. Wenn der aktuelle Knoten und die folgenden gleichgeordneten Knoten wie folgt aussehen:
<!--comment--><?process
instruction?><!--comment--></endtag>
Load
wird erfolgreich sein; Sie verfügen jedoch über eine unvollständige DOM-Struktur, da kein Element auf Stammebene vorhanden ist. Sie müssen ein Element auf Stammebene hinzufügen, bevor Sie das Dokument speichern. andernfalls löst die Save Methode eine Ausnahme aus.
Wenn sich der Reader auf einem Endknoten befindet, der für die Stammebene eines Dokuments ungültig ist (z. B. ein Leerraum- oder ein Attributknoten), setzt der Reader den Lesevorgang solange fort, bis er sich auf einem Knoten befindet, der als Stamm verwendet werden kann. Das Dokument beginnt an dieser Stelle mit dem Laden.