Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In ADO.NET können Sie eine XML-Darstellung einer DataSet, mit oder ohne Schema schreiben. Wenn Schemainformationen inline mit dem XML-Code enthalten sind, wird sie mit der XML-Schemadefinitionssprache (XSD) geschrieben. Das Schema enthält die Tabellendefinitionen der DataSet Sowie die Beziehungs- und Einschränkungsdefinitionen.
Wenn ein DataSet als XML-Daten geschrieben wird, werden die Zeilen in der DataSet in ihren aktuellen Versionen geschrieben. Dies DataSet kann jedoch auch als DiffGram geschrieben werden, sodass sowohl die aktuellen als auch die ursprünglichen Werte der Zeilen einbezogen werden.
Die XML-Darstellung von DataSet kann in eine Datei, einen Datenstrom, einen XmlWriter oder eine Zeichenfolge geschrieben werden. Diese Auswahlmöglichkeiten bieten eine große Flexibilität für den Transport der XML-Darstellung der DataSet. Um die XML-Darstellung der DataSet als Zeichenfolge abzurufen, verwenden Sie die GetXml Methode wie im folgenden Beispiel dargestellt.
Dim xmlDS As String = custDS.GetXml()
string xmlDS = custDS.GetXml();
GetXml gibt die XML-Darstellung der DataSet ohne Schemainformationen zurück. Verwenden Sie DataSet, um die Schemainformationen aus dem (als XML-Schema) in eine Zeichenfolge zu schreiben.
Verwenden Sie die DataSet Methode, um eine Datei, einen Datenstrom oder WriteXml zu schreiben. Der erste Parameter, den Sie an WriteXml übergeben, ist das Ziel der XML-Ausgabe. Übergeben Sie beispielsweise eine Zeichenfolge, die einen Dateinamen, ein System.IO.TextWriter-Objekt usw. enthält. Sie können einen optionalen zweiten Parameter eines XmlWriteMode Parameters übergeben, um anzugeben, wie die XML-Ausgabe geschrieben werden soll.
In der folgenden Tabelle sind die Optionen für XmlWriteMode aufgeführt.
| "XmlWriteMode"-Option | BESCHREIBUNG |
|---|---|
| IgnoreSchema | Schreibt den aktuellen Inhalt der DataSet als XML-Daten ohne XML-Schema. Dies ist die Standardeinstellung. |
| WriteSchema | Schreibt den aktuellen Inhalt des DataSet als XML-Daten mit der relationalen Struktur als XML-Inlineschema. |
| DiffGram | Schreibt das gesamte DataSet als DiffGram, einschließlich ursprünglicher und aktueller Werte. Weitere Informationen finden Sie unter DiffGrams. |
Beim Schreiben einer XML-Darstellung eines DataSet Objekts, das Objekte enthält DataRelation , möchten Sie wahrscheinlich, dass der resultierende XML-Code die untergeordneten Zeilen jeder Beziehung in den zugehörigen übergeordneten Elementen verschachtelt. Legen Sie dazu die Nested-Eigenschaft des DataRelation auf true fest, wenn Sie DataRelation zu DataSet hinzufügen. Weitere Informationen finden Sie unter Nesting DataRelations.
Im Folgenden finden Sie zwei Beispiele zum Schreiben der XML-Darstellung einer DataSet Datei in eine Datei. Im ersten Beispiel wird der Dateiname für den resultierenden XML-Code als Zeichenfolge an WriteXml übergeben. Im zweiten Beispiel wird ein System.IO.StreamWriter-Objekt übergeben.
custDS.WriteXml("Customers.xml", XmlWriteMode.WriteSchema)
custDS.WriteXml("Customers.xml", XmlWriteMode.WriteSchema);
Dim xmlSW As System.IO.StreamWriter = New System.IO.StreamWriter("Customers.xml")
custDS.WriteXml(xmlSW, XmlWriteMode.WriteSchema)
xmlSW.Close()
System.IO.StreamWriter xmlSW = new System.IO.StreamWriter("Customers.xml");
custDS.WriteXml(xmlSW, XmlWriteMode.WriteSchema);
xmlSW.Close();
Zuordnen von Spalten zu XML-Elementen, Attributen und Text
Mithilfe der ColumnMapping-Eigenschaft des DataColumn-Objekts können Sie angeben, wie eine Tabellenspalte in XML dargestellt wird. In der folgenden Tabelle sind die verschiedenen MappingType Werte für die ColumnMapping Eigenschaft einer Tabellenspalte und der resultierenden XML-Code aufgeführt.
| "MappingType"-Wert | BESCHREIBUNG |
|---|---|
| Element | Dies ist die Standardeinstellung. Die Spalte wird als XML-Element geschrieben, wobei "ColumnName" der Name des Elements ist und der Inhalt der Spalte als Text des Elements geschrieben wird. Beispiel:<ColumnName>Column Contents</ColumnName> |
| Attribut | Die Spalte wird als XML-Attribut des XML-Elements für die aktuelle Zeile geschrieben, wobei "ColumnName" der Name des Attributs ist und der Inhalt der Spalte als Wert des Attributs geschrieben wird. Beispiel:<RowElement ColumnName="Column Contents" /> |
| SimpleContent | Der Inhalt der Spalte wird als Text im XML-Element für die aktuelle Zeile geschrieben. Beispiel:<RowElement>Column Contents</RowElement>Beachten Sie, dass SimpleContent nicht für eine Spalte einer Tabelle festgelegt werden kann, die Element weitere Spalten oder geschachtelte Beziehungen enthält. |
| Versteckt | Die Spalte wird nicht in der XML-Ausgabe geschrieben. |