Partilhar via


Inferindo tabelas

Ao inferir um esquema para um DataSet a partir de um documento XML, ADO.NET primeiro determina quais elementos XML representam tabelas. As seguintes estruturas XML resultam em uma tabela para o esquema DataSet :

  • Elementos com atributos

  • Elementos com elementos filho

  • Elementos repetitivos

Elementos com atributos

Os elementos que têm atributos especificados neles resultam em tabelas inferidas. Por exemplo, considere o seguinte XML:

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

O processo de inferência produz uma tabela chamada "Element1".

DataSet: DocumentElement

Tabela: Element1

ATTR1 Element1_Text
valor1
valor2 Texto1

Elementos com elementos filho

Os elementos que têm elementos filho resultam em tabelas inferidas. Por exemplo, considere o seguinte XML:

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

O processo de inferência produz uma tabela chamada "Element1".

DataSet: DocumentElement

Tabela: Element1

ChildElement1
Texto1

O elemento document, ou raiz, resulta em uma tabela inferida se tiver atributos ou elementos filho que são inferidos como colunas. Se o elemento document não tiver atributos e nenhum elemento filho que seria inferido como colunas, o elemento será inferido como um DataSet. Por exemplo, considere o seguinte XML:

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

O processo de inferência produz uma tabela chamada "DocumentElement".

DataSet: NewDataSet

Tabela: DocumentElement

Elemento1 Elemento2
Texto1 Texto2

Como alternativa, considere o seguinte XML:

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

O processo de inferência produz um DataSet chamado "DocumentElement" que contém uma tabela chamada "Element1".

DataSet: DocumentElement

Tabela: Element1

ATTR1 ATTR2
valor1 valor2

Elementos repetitivos

Os elementos que se repetem resultam em uma única tabela inferida. Por exemplo, considere o seguinte XML:

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

O processo de inferência produz uma tabela chamada "Element1".

DataSet: DocumentElement

Tabela: Element1

Element1_Text
Texto1
Texto2

Consulte também