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

Voir aussi