要素のテキストの推論 (ADO.NET)
要素にテキストは含まれているが、テーブルとして推論される (属性を持つ要素または繰り返し出現する要素などの) 子の要素がない場合は、TableName_Text という名前の新しい列が、要素に対して推論されるテーブルに追加されます。 要素に含まれているテキストはテーブルの行に追加され、新しい列に格納されます。 新しい列の ColumnMapping プロパティは、MappingType.SimpleContent に設定されます。
たとえば、次のような XML があるとします。
<DocumentElement>
<Element1 attr1="value1">Text1</Element1>
</DocumentElement>
推論プロセスにより、attr1 および Element1_Text という 2 つの列を持つ Element1 という名前のテーブルが生成されます。 attr1 列の ColumnMapping プロパティは、MappingType.Attribute に設定されます。 Element1_Text 列の ColumnMapping プロパティは、MappingType.SimpleContent に設定されます。
DataSet: DocumentElement
Table: Element1
attr1 |
Element1_Text |
---|---|
value1 |
Text1 |
要素にテキストだけでなく、テキストを含む子の要素も含まれている場合は、その要素に含まれているテキストを格納するための列はテーブルに追加されません。 要素に含まれるテキストは無視されますが、子の要素のテキストはテーブルの行に追加されます。 たとえば、次のような XML があるとします。
<Element1>
Text1
<ChildElement1>Text2</ChildElement1>
Text3
</Element1>
推論プロセスにより、ChildElement1 という 1 つの列を持つ Element1 という名前のテーブルが生成されます。 ChildElement1 要素のテキストは、テーブルの行に追加されます。 その他のテキストは無視されます。 ChildElement1 列の ColumnMapping プロパティは、MappingType.Element に設定されます。
DataSet: DocumentElement
Table: Element1
ChildElement1 |
---|
Text2 |
参照
概念
XML からの DataSet の読み込み (ADO.NET)
XML の DataSet スキーマ情報の読み込み (ADO.NET)