推断表 (ADO.NET)

当从 XML 文档推断 DataSet 的架构时,ADO.NET 首先会确定哪些 XML 元素表示表。 以下 XML 结构为 DataSet 架构生成表:

  • 具有属性的元素

  • 具有子元素的元素

  • 重复元素

具有属性的元素

在其中指定了属性的元素将生成推断表。 例如,考虑以下 XML:

<DocumentElement>
  <Element1 attr1="value1"/>
  <Element1 attr1="value2">Text1</Element1>
</DocumentElement>

推断过程将生成名为“Element1”的表。

**DataSet:**DocumentElement

**Table:**Element1

attr1

Element1_Text

value1

   

value2

Text1

具有子元素的元素

具有子元素的元素将生成推断表。 例如,考虑以下 XML:

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

推断过程将生成名为“Element1”的表。

**DataSet:**DocumentElement

**Table:**Element1

ChildElement1

Text1

如果文档元素(即根元素)具有将被推断为列的属性或子元素,将生成推断表。 如果文档元素不具有将被推断为列的属性和子元素,则该元素将被推断为 DataSet。 例如,考虑以下 XML:

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

推断过程将生成名为“DocumentElement”的表。

**DataSet:**NewDataSet

**Table:**DocumentElement

Element1

Element2

Text1

Text2

或者,考虑以下 XML:

<DocumentElement>
  <Element1 attr1="value1" attr2="value2"/>
</DocumentElement>

推断过程将生成一个名为“DocumentElement”的 DataSet,包含一个名为“Element1”的表。

**DataSet:**DocumentElement

**Table:**Element1

attr1

attr2

value1

value2

重复元素

重复的元素将生成单个推断表。 例如,考虑以下 XML:

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

推断过程将生成名为“Element1”的表。

**DataSet:**DocumentElement

**Table:**Element1

Element1_Text

Text1

Text2

请参见

概念

从 XML 中加载数据集 (ADO.NET)

从 XML 中加载数据集架构信息 (ADO.NET)

其他资源

从 XML 推断数据集关系结构 (ADO.NET)

在数据集中使用 XML (ADO.NET)

DataSet、DataTable 和 DataView (ADO.NET)