Partager via


Limitations applicables à l'inférence (ADO.NET)

Le processus d'inférence d'un schéma de l'objet DataSet à partir de XML peut aboutir à des schémas différents en fonction des éléments XML figurant dans chaque document. Examinons, par exemple, les documents XML suivants.

Document1 :

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

Document2 :

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

Pour « Document1 », le processus d'inférence produit un DataSet nommé « DocumentElement » et une table nommée « Element1 » car « Element1 » est un élément récurrent.

DataSet : DocumentElement

Table : Element1

Element1_Text

Text1

Text2

Toutefois, pour « Document2 », le processus d'inférence produit un DataSet nommé « NewDataSet » et une table nommée « DocumentElement ». « Element1 » est déduit en tant que colonne car il n'a ni attribut, ni élément enfant.

DataSet : NewDataSet

Table : DocumentElement

Element1

Text1

Ces deux documents XML peuvent avoir été conçus de manière à produire le même schéma, mais le processus d'inférence donne des résultats très différents en fonction des éléments contenus dans chaque document.

Pour éviter les différences qui peuvent se produire lors de la génération d'un schéma à partir d'un document XML, il est recommandé de spécifier explicitement un schéma à l'aide du langage XSD (XML Schema Definition) ou de XDR (XML-Data Reduced) lors du chargement d'un DataSet à partir de XML. Pour plus d'informations sur la spécification explicite du schéma d'un DataSet à l'aide d'un schéma XML, voir Dérivation de la structure relationnelle d'un DataSet à partir d'un schéma XML (XSD).

Voir aussi

Concepts

Chargement d'un DataSet à partir de XML (ADO.NET)

Chargement des informations de schéma d'un DataSet à partir de XML (ADO.NET)

Autres ressources

Déduction de la structure relationnelle d'un DataSet à partir de XML (ADO.NET)

Utilisation de XML dans un DataSet (ADO.NET)

Objets DataSet, DataTable et DataView (ADO.NET)