推断表

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

  • 具有属性的元素

  • 具有子元素的元素

  • 重复元素

具有特性的元素

在元素中指定属性会导致推断表。 例如,请考虑以下 XML:

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

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

数据集: DocumentElement

表格: 元素1

attr1 元素1_文本
value1
value2 文本一

具有子元素的元素

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

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

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

数据集: DocumentElement

表格: 元素1

ChildElement1
文本一

如果文档元素(即根元素)具有将被推断为列的属性或子元素,将生成推断表。 如果文档元素没有属性,并且没有将推断为列的子元素,则会将元素推断为 数据集。 例如,请考虑以下 XML:

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

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

数据集: NewDataSet

表格: DocumentElement

Element1 Element2
文本一 Text2

或者,请考虑以下 XML:

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

推理过程生成名为“DocumentElement”的 数据集 ,其中包含名为“Element1”的表。

数据集: DocumentElement

表格: 元素1

attr1 attr2
value1 value2

重复元素

重复出现的元素会形成一个单独的推断表。 例如,请考虑以下 XML:

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

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

数据集: DocumentElement

表格: 元素1

元素1_文本
文本一
Text2

另请参阅