Le stage Read from XML stage lit un fichier XML dans un job ou un sous-flux. Il définit le chemin du fichier et le format de données, y compris un schéma XML et les détails des éléments de données.
Les éléments XML simples sont convertis en champs texte et transmis au stage suivant. Les données XML simples sont des enregistrements composés d'éléments XML qui contiennent uniquement des données et pas d'élément enfant. Voici un exemple de fichier de données XML simple :
<customers> <customer> <name>Sam</name> <gender>M</gender> <age>43</age> <country>United States</country> </customer> <customer> <name>Jeff</name> <gender>M</gender> <age>32</age> <country>Canada</country> </customer> <customer> <name>Mary</name> <gender>F</gender> <age>61</age> <country>Australia</country> </customer> </customers>
Notez que, dans cet exemple, chaque enregistrement contient des éléments XML simples, tels que <name>
, <gender>
, <age>
et <country>
. Aucun des éléments ne contient d'éléments enfant.
Le stage Read from XML simplifie automatiquement les données simples de ce genre car la plupart des stages exigent que les données soient au format texte. Si vous souhaitez préserver la structure hiérarchique, utilisez un stage Aggregator après Read from XML pour convertir les données en données hiérarchiques.
Les éléments XML complexes restent au format hiérarchique et sont transmis en tant que champ de liste. Cependant, de nombreux stages requièrent des données au format plat ; c'est pourquoi vous devrez peut-être simplifier des éléments XML complexes afin de les rendre utilisables par les stages en aval. Pour plus d'informations, reportez-vous à la section Simplification des éléments XML complexes.
xs:anyType
ni xs:anySimpleType
.Onglet de propriétés du fichier
Nom de l'option |
Description |
||
---|---|---|---|
Fichier de schéma |
Indique le chemin du fichier de schéma XSD. Cliquez sur le bouton d'ellipse (...) pour rechercher le fichier souhaité. Notez que le fichier de schéma doit être sur le serveur pour que le fichier de données soit validé par rapport au schéma. Si le fichier de schéma n'est pas sur le serveur, la validation est désactivée. Sinon, vous pouvez spécifier un fichier XML au lieu d'un fichier XSD. Si vous spécifiez un fichier XML, le schéma est inféré en fonction de la structure du fichier XML. L'utilisation d'un fichier XML au lieu d'un fichier XSD présente certaines limites :
Remarque : Si le Spectrum Technology Platform est en cours d'exécution sur les systèmes Linux, rappelez-vous que les noms de fichiers et les chemins sur ces plates-formes sont sensibles à la casse.
|
||
Fichier de données |
Indique le chemin du fichier de données XML. Cliquez sur le bouton d'ellipse (...) pour rechercher le fichier souhaité. Remarque : Si le Spectrum Technology Platform est en cours d'exécution sur les systèmes Linux, rappelez-vous que les noms de fichiers et les chemins sur ces plates-formes sont sensibles à la casse.
|
||
Aperçu |
Affiche un aperçu du fichier de schéma ou XML. Lorsque vous spécifiez un fichier XSD, la structure d'arborescence reflète le XSD sélectionné. Une fois que vous indiquez un fichier de schéma et un fichier de données, vous pouvez cliquer sur les éléments de schéma en gras pour voir un aperçu des données que l'élément contient. |
Onglet Champs
Nom de l'option |
Description |
---|---|
Filtre |
Filtre la liste des éléments et des attributs pour faciliter la navigation. Le filtre n'a aucun impact sur les champs qui sont inclus dans la sortie. Il filtre uniquement la liste des éléments et des attributs pour faciliter la navigation. |
XPath |
La colonne XPath affiche l'expression XPath pour l'élément ou l'attribut. Elle est affichée à titre indicatif. Pour plus d'informations sur XPath, reportez-vous à cette page. |
Champ |
Le nom sera utilisé dans le dataflow pour l'élément ou l'attribut. Pour modifier le nom du champ, double-cliquez dessus et entrez le nom du champ souhaité. |
Type |
Le type de données à utiliser pour le champ. Pour plus d'informations, reportez-vous à la section Types de données de champ. |
Inclure |
Indique si ce champ doit être disponible dans le dataflow ou s'il faut l'exclure. |
Exemple : fichier XML simple
Dans cet exemple, vous souhaitez lire ce fichier dans un dataflow :
<addresses> <address> <addressline1>One Global View</addressline1> <city>Troy</city> <state>NY</state> <postalcode>12128</postalcode> </address> <address> <addressline1>1825B Kramer Lane</addressline1> <city>Austin</city> <state>TX</state> <postalcode>78758</postalcode> </address> </addresses>
Dans cet exemple, vous pouvez choisir d'inclure <addressline1>
, <city>
, <state>
et <postalcode>
. Un enregistrement est alors créé pour chaque élément <address>
, car <address>
est l'élément parent commun de <addressline1>
, <city>
, <state>
et de <postalcode>
.