要素にテキストは含まれているが、テーブルとして推論される子の要素 (属性を持つ要素または繰り返し出現する要素など) がない場合は、"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 リレーショナル構造の推論 | XML からの DataSet の読み込み | XML の DataSet スキーマ情報の読み込み | XML と DataSet | DataSet の作成および使用