Herleiten von Elementtext (ADO.NET)
Bei einem Element mit Text, jedoch ohne als Tabellen herzuleitende untergeordnete Elemente (z. B. Elemente mit Attributen oder sich wiederholende Elemente), wird der Tabelle, die für das Element hergeleitet wird, eine neue Spalte mit dem Namen TableName_Text hinzugefügt. Der in dem Element enthaltene Text wird einer Tabellenzeile hinzugefügt und in der neuen Spalte gespeichert. Die ColumnMapping-Eigenschaft der neuen Spalte wird auf MappingType.SimpleContent festgelegt.
Betrachten Sie beispielsweise den folgenden XML-Code:
<DocumentElement>
<Element1 attr1="value1">Text1</Element1>
</DocumentElement>
Durch die Herleitung wird eine Tabelle mit dem Namen Element1 und den zwei Spalten attr1 und Element1_Text erstellt. Die ColumnMapping-Eigenschaft der attr1-Spalte wird auf MappingType.Attribute festgelegt. Die ColumnMapping-Eigenschaft der Element1_Text-Spalte wird auf MappingType.SimpleContent festgelegt.
DataSet: DocumentElement
Table: Element1
attr1 |
Element1_Text |
---|---|
value1 |
Text1 |
Bei einem Element mit Text und untergeordneten Elementen, die ebenfalls Text enthalten, wird der Tabelle keine Spalte zum Speichern des Elementtexts hinzugefügt. Der in dem Element enthaltene Text wird ignoriert, während der Text in den untergeordneten Elementen in eine Tabellenzeile eingefügt wird. Betrachten Sie beispielsweise den folgenden XML-Code:
<Element1>
Text1
<ChildElement1>Text2</ChildElement1>
Text3
</Element1>
Durch die Herleitung wird eine Tabelle mit dem Namen Element1 und der Spalte ChildElement1 erstellt. Der Text für das ChildElement1-Element wird in eine Zeile der Tabelle eingefügt. Der restliche Text wird ignoriert. Die ColumnMapping-Eigenschaft der ChildElement1-Spalte wird auf MappingType.Element festgelegt.
DataSet: DocumentElement
Table: Element1
ChildElement1 |
---|
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)