推理限制

根据每个文档中的 XML 元素,从 XML 推断 DataSet 架构的过程可能会导致不同的架构。 例如,请考虑以下 XML 文档。

Document1:

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

文档2:

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

对于“Document1”,推理过程生成一 DataSet 个名为“DocumentElement”的表和一个名为“Element1”的表,因为“Element1”是重复元素。

数据集: DocumentElement

表格: 元素1

元素1_文本
文本一
Text2

但是,对于“Document2”,推理过程生成名为 DataSet “NewDataSet”和名为“DocumentElement”的表。“Element1”被推断为列,因为它没有属性,也没有子元素。

数据集: NewDataSet

表格: DocumentElement

Element1
文本一

这两个 XML 文档可能旨在生成相同的架构,但推理过程根据每个文档中包含的元素生成非常不同的结果。

为避免从 XML 文档生成模式时可能发生的不一致性,建议在从 XML 加载DataSet时使用 XML 架构定义语言(XSD)或 XML-Data Reduced(XDR)显式指定模式。 有关使用 XML 架构显式指定DataSet架构的详细信息,请参阅从 XML 架构派生数据集关系结构(XSD)。

另请参阅