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