次の方法で共有


テーブルの推論

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

こちらも参照ください