次の方法で共有


テーブルの推論

XML ドキュメントから DataSet のスキーマを推論するときには、ADO.NET では、テーブルを表す XML 要素を最初に決定します。 次に示す XML 構造では、DataSet スキーマのテーブルが推論されます。

  • 属性を持つ要素

  • 子要素を持つ要素

  • 繰り返し出現する要素

属性を持つ要素

要素に属性が指定されている場合は、それらの要素はテーブルとして推論されます。 たとえば、次のような XML があるとします。

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

推論プロセスにより、"Element1" という名前のテーブルが生成されます。

DataSet: DocumentElement

テーブル: Element1

attr1 Element1_Text
value1
value2 Text1

子要素を持つ要素

子要素を持つ要素は、テーブルとして推論されます。 たとえば、次のような XML があるとします。

<DocumentElement>  
  <Element1>  
    <ChildElement1>Text1</ChildElement1>  
  </Element1>  
</DocumentElement>  

推論プロセスにより、"Element1" という名前のテーブルが生成されます。

DataSet: DocumentElement

テーブル: Element1

ChildElement1
Text1

ドキュメント (ルート) 要素に属性または子要素があり、それらが列として推論される場合には、そのドキュメント要素はテーブルとして推論されます。 ドキュメント要素の属性や子要素が列として推論されない場合、そのドキュメント要素は DataSet として推論されます。 たとえば、次のような XML があるとします。

<DocumentElement>  
  <Element1>Text1</Element1>  
  <Element2>Text2</Element2>  
</DocumentElement>  

推論プロセスにより、"DocumentElement" という名前のテーブルが生成されます。

DataSet: NewDataSet

テーブル: DocumentElement

Element1 Element2
Text1 Text2

または、次のような XML があるとします。

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

推論プロセスにより、"Element1" という名前のテーブルを含む "DocumentElement" という名前の DataSet が生成されます。

DataSet: DocumentElement

テーブル: Element1

attr1 attr2
value1 value2

繰り返し出現する要素

繰り返し出現する要素は、単一のテーブルとして推論されます。 たとえば、次のような XML があるとします。

<DocumentElement>  
  <Element1>Text1</Element1>  
  <Element1>Text2</Element1>  
</DocumentElement>  

推論プロセスにより、"Element1" という名前のテーブルが生成されます。

DataSet: DocumentElement

テーブル: Element1

Element1_Text
Text1
Text2

関連項目