Déduction de tables
Lors de l'inférence du schéma d'un objet DataSet à partir d'un document XML, ADO.NET identifie d'abord les éléments XML qui représentent des tables. Les structures XML suivantes donneront une table pour le schéma du DataSet :
éléments avec attributs ;
éléments avec éléments enfants ;
éléments qui se répètent.
Éléments avec attributs
Les éléments contenant des attributs spécifiés donnent des tables déduites. Examinons, par exemple, le code XML suivant :
<DocumentElement>
<Element1 attr1="value1"/>
<Element1 attr1="value2">Text1</Element1>
</DocumentElement>
Le processus d'inférence produit une table nommée « Element1 ».
DataSet : DocumentElement
Table : Element1
attr1 | Element1_Text |
---|---|
valeur1 | |
valeur2 | Text1 |
Éléments avec éléments enfants
Les éléments possédant des éléments enfants donnent des tables déduites. Examinons, par exemple, le code XML suivant :
<DocumentElement>
<Element1>
<ChildElement1>Text1</ChildElement1>
</Element1>
</DocumentElement>
Le processus d'inférence produit une table nommée « Element1 ».
DataSet : DocumentElement
Table : Element1
ChildElement1 |
---|
Text1 |
L'élément document, ou racine, donne une table déduite s'il comporte des attributs ou des éléments enfants qui sont inférés en tant que colonnes. Si l’élément document ne comporte pas d’attributs ni d’éléments enfants qui seraient déduits en tant que colonnes, il est déduit en tant que DataSet. Examinons, par exemple, le code XML suivant :
<DocumentElement>
<Element1>Text1</Element1>
<Element2>Text2</Element2>
</DocumentElement>
Le processus d'inférence produit une table nommée « DocumentElement ».
DataSet : NewDataSet
Table : DocumentElement
Element1 | Element2 |
---|---|
Text1 | Text2 |
Examinons également le code XML suivant :
<DocumentElement>
<Element1 attr1="value1" attr2="value2"/>
</DocumentElement>
Le processus d’inférence produit un DataSet nommé « DocumentElement » contenant une table nommée « Element1 ».
DataSet : DocumentElement
Table : Element1
attr1 | attr2 |
---|---|
valeur1 | valeur2 |
Éléments qui se répètent
Les éléments qui se répètent donnent une seule table déduite. Examinons, par exemple, le code XML suivant :
<DocumentElement>
<Element1>Text1</Element1>
<Element1>Text2</Element1>
</DocumentElement>
Le processus d'inférence produit une table nommée « Element1 ».
DataSet : DocumentElement
Table : Element1
Element1_Text |
---|
Text1 |
Text2 |