根据每个文档中的 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)。