Partager via


Inférence du texte des éléments

Si un élément contient du texte et n'a pas d'éléments enfants à déduire en tant que tables (comme des éléments assortis d'attributs ou qui se répètent), une nouvelle colonne nommée « NomTable_Text » sera ajoutée à la table déduite pour l'élément. Le texte contenu dans l'élément sera ajouté à une ligne de la table et stocké dans la nouvelle colonne. La propriété ColumnMapping de la nouvelle colonne aura pour valeur MappingType.SimpleContent.

Examinons, par exemple, le code XML suivant :

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

Le processus d'inférence produira une table nommée « Element1 », avec deux colonnes, « attr1 » et « Element1_Text ». La propriété ColumnMapping de la colonne « attr1 » aura pour valeur MappingType.Attribute. La propriété ColumnMapping de la colonne « Element1_Text » aura pour valeur MappingType.SimpleContent.

DataSet : DocumentElement

Table : Element1

attr1 Element1_Text
value1 Text1

Si un élément contient du texte, mais possède également des éléments enfants contenant du texte, une colonne ne sera pas ajoutée à la table pour stocker le texte contenu dans l'élément. Ce texte sera ignoré, alors que le texte des éléments enfants sera inclus dans une ligne de la table. Examinons, par exemple, le code XML suivant :

<Element1>
  Text1
  <ChildElement1>Text2</ChildElement1>
  Text3
</Element1>

Le processus d'inférence produira une table nommée « Element1 », avec une colonne nommée « ChildElement1 ». Le texte de l'élément « ChildElement1 » sera inclus dans une ligne de la table. L'autre texte sera ignoré. La propriété ColumnMapping de la colonne « ChildElement1 » aura pour valeur MappingType.Element.

DataSet : DocumentElement

Table : Element1

ChildElement1
Text2

Voir aussi

Inférence de la structure relationnelle d'un DataSet à partir de XML | Chargement d'un DataSet à partir de XML | Chargement des informations de schéma d'un DataSet à partir de XML | XML et le DataSet | Création et utilisation de DataSets