推斷限制

根據每份文件的 XML 項目,當您執行從 XML 推斷 DataSet 結構描述的處理序時,可能會得到不同的結構描述。 例如,請考量下列 XML 文件。

Document1:

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

Document2:

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

若為 Document1,則因為 Element1 是重複的元素,所以推斷程序會產生名為 DocumentElement 的 DataSet 與名為 Element1 的資料表。

DataSet:DocumentElement

資料表:Element1

Element1_Text
Text1
Text2

然而,針對 Document2,推斷程式會產生名為 NewDataSet 的DataSet ,以及名為 DocumentElement 的資料表。Element1 會推斷為資料行,因為其沒有屬性,也沒有子元素。

DataSet:NewDataSet

資料表:DocumentElement

Element1
Text1

這兩份 XML 文件原本可能意圖要產生相同的結構描述,但是根據每份文件包含的項目,推斷程序產生了相當不同的結果。

若要避免從 XML 文件產生結構描述時發生不一致的情況,建議您從 XML 載入 DataSet 時,使用 XML 結構描述定義語言 (XSD) 或 XML 資料精簡 (XDR) 來明確地指定結構描述。 如需使用 XML 結構描述明確指定 DataSet 結構的詳細資訊,請參閱從 XML 結構描述衍生 DataSet 關聯式結構 (XSD)

另請參閱