Herleiten von Spalten (ADO.NET)

Aktualisiert: November 2007

Nachdem ADO.NET aus einem XML-Dokument ermittelt hat, welche Elemente als Tabellen für ein DataSet herzuleiten sind, leitet es die Spalten für diese Tabellen her. ADO.NET 2.0 enthält ein neues Modul für Schemaherleitungen, das für jedes simpleType-Element einen Datentyp mit strikter Typbindung herleitet. In vorherigen Versionen war der Datentyp eines hergeleiteten simpleType-Elements immer xsd:string.

Migration und Abwärtskompatibilität

Die ReadXml-Methode verwendet ein Argument vom Typ InferSchema. Mit diesem Argument können Sie das mit vorherigen Versionen kompatible Herleitungsverhalten angeben. Die für die InferSchema-Enumeration verfügbaren Werte werden in der folgenden Tabelle dargestellt.

  • InferSchema
    Stellt Abwärtskompatibilität bereit, indem immer ein einfacher Typ als String hergeleitet wird.

  • InferTypedSchema
    Leitet einen Datentyp mit strikter Typbindung her. Löst bei der Verwendung mit einer DataTable eine Ausnahme aus.

  • IgnoreSchema
    Ignoriert alle Inlineschemata und liest Daten in das vorhandene DataSet-Schema ein.

Attribute

Wie unter Herleiten von Tabellen definiert, wird ein Element mit Attributen als Tabelle hergeleitet. Die Attribute dieses Elements werden anschließend als Spalten für die entsprechende Tabelle hergeleitet. Für die ColumnMapping-Eigenschaft der Spalten wird MappingType.Attribute festgelegt, damit die Spaltennamen als Attribute geschrieben werden, falls das Schema wieder in XML zurückgeschrieben wird. Die Werte der Attribute werden in einer Tabellenzeile gespeichert. Betrachten Sie beispielsweise den folgenden XML-Code:

<DocumentElement>
  <Element1 attr1="value1" attr2="value2"/>
</DocumentElement>

Durch die Herleitung wird eine Tabelle mit dem Namen Element1 und den zwei Spalten attr1 und attr2 erstellt. Die ColumnMapping-Eigenschaft der beiden Spalten wird auf MappingType.Attribute festgelegt.

DataSet: DocumentElement

Tabelle: Element1

attr1

attr2

value1

value2

Elemente ohne Attribute oder untergeordnete Elemente

Ein Element ohne untergeordnete Elemente oder Attribute wird als Spalte hergeleitet. Die ColumnMapping-Eigenschaft der Spalte wird auf MappingType.Element festgelegt. Der Text der untergeordneten Elemente wird in einer Tabellenzeile gespeichert. Betrachten Sie beispielsweise den folgenden XML-Code:

<DocumentElement>
  <Element1>
    <ChildElement1>Text1</ChildElement1>
    <ChildElement2>Text2</ChildElement2>
  </Element1>
</DocumentElement>

Durch die Herleitung wird eine Tabelle mit dem Namen Element1 und den zwei Spalten ChildElement1 und ChildElement2 erstellt. Die ColumnMapping-Eigenschaft der beiden Spalten wird auf MappingType.Element festgelegt.

DataSet: DocumentElement

Tabelle: Element1

ChildElement1

ChildElement2

Text1

Text2

Siehe auch

Konzepte

Laden eines 'DataSet' aus XML (ADO.NET)

Laden von 'DataSet'-Schemainformationen aus XML (ADO.NET)

Weitere Ressourcen

Herleiten der relationalen 'DataSet'-Struktur aus XML (ADO.NET)

Verwenden von XML in einem 'DataSet' (ADO.NET)

'DataSets', 'DataTables' und 'DataViews' (ADO.NET)