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 |