XML ドキュメントから DataSet のスキーマを推論する場合、ADO.NET は最初にテーブルを表す XML 要素を決定します。 次の XML 構造体は、 DataSet スキーマのテーブルになります。
属性を持つ要素
子要素を持つ要素
繰り返し要素
属性を持つ要素
属性が指定されている要素は、推論テーブルになります。 たとえば、次の XML を考えてみましょう。
<DocumentElement>
<Element1 attr1="value1"/>
<Element1 attr1="value2">Text1</Element1>
</DocumentElement>
推論プロセスでは、"Element1" という名前のテーブルが生成されます。
データセット: DocumentElement
テーブル: Element1
attr1 | エレメント1_テキスト |
---|---|
value1 | |
value2 | テキスト1 |
子要素を持つ要素
子要素を持つ要素は、推論されたテーブルになります。 たとえば、次の XML を考えてみましょう。
<DocumentElement>
<Element1>
<ChildElement1>Text1</ChildElement1>
</Element1>
</DocumentElement>
推論プロセスでは、"Element1" という名前のテーブルが生成されます。
データセット: DocumentElement
テーブル: Element1
ChildElement1 |
---|
テキスト1 |
ドキュメント (ルート) 要素は、列として推論される属性または子要素がある場合、推論されたテーブルになります。 ドキュメント要素に属性がなく、列として推論される子要素がない場合、その要素は DataSet として推論されます。 たとえば、次の XML を考えてみましょう。
<DocumentElement>
<Element1>Text1</Element1>
<Element2>Text2</Element2>
</DocumentElement>
推論プロセスでは、"DocumentElement" という名前のテーブルが生成されます。
データセット: NewDataSet
テーブル: DocumentElement
Element1 | Element2 |
---|---|
テキスト1 | テキスト2 |
または、次の XML を検討してください。
<DocumentElement>
<Element1 attr1="value1" attr2="value2"/>
</DocumentElement>
推論プロセスでは、"Element1" という名前のテーブルを含む "DocumentElement" という名前の DataSet が生成されます。
データセット: DocumentElement
テーブル: Element1
attr1 | attr2 |
---|---|
value1 | value2 |
繰り返し要素
繰り返す要素は、1 つの推論テーブルになります。 たとえば、次の XML を考えてみましょう。
<DocumentElement>
<Element1>Text1</Element1>
<Element1>Text2</Element1>
</DocumentElement>
推論プロセスでは、"Element1" という名前のテーブルが生成されます。
データセット: DocumentElement
テーブル: Element1
エレメント1_テキスト |
---|
テキスト1 |
テキスト2 |