次の方法で共有


推論の制限事項

XML から DataSet スキーマを推論するプロセスでは、各ドキュメントの XML 要素に応じて異なるスキーマが生成される場合があります。 たとえば、次の XML ドキュメントを考えてみましょう。

Document1:

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

Document2:

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

"Document1" の場合、"Element1" は繰り返し要素であるため、推論プロセスでは "DocumentElement" という名前の DataSet と "Element1" という名前のテーブルが生成されます。

データセット: DocumentElement

テーブル: Element1

エレメント1_テキスト
テキスト1
テキスト2

ただし、"Document2" の場合、推論プロセスでは "NewDataSet" という名前の DataSet と "DocumentElement" という名前のテーブルが生成されます。"Element1" は、属性がなく、子要素もないため、列として推論されます。

データセット: NewDataSet

テーブル: DocumentElement

Element1
テキスト1

これら 2 つの XML ドキュメントは同じスキーマを生成することを目的としていたかもしれませんが、推論プロセスでは、各ドキュメントに含まれる要素に基づいて非常に異なる結果が生成されます。

XML ドキュメントからスキーマを生成するときに発生する可能性のある不一致を回避するには、XML から DataSet を読み込むときに、XML スキーマ定義言語 (XSD) または XML-Data Reduced (XDR) を使用してスキーマを明示的に指定することをお勧めします。 XML スキーマを使用して DataSet スキーマを明示的に指定する方法の詳細については、「XML スキーマ からの DataSet リレーショナル構造の派生 (XSD)」を参照してください。

こちらも参照ください