En savoir plus sur le Data Workbench Annonce de fin de vie.
Traitement des fichiers XML en tant que sources de journal pour définir des décodeurs pour extraire des données du fichier XML.
La définition de groupes de décodeur XML pour les sources de journaux XML nécessite une connaissance de la structure et du contenu du fichier XML, des données à extraire et des champs dans lesquels ces données sont stockées. Cette section fournit des descriptions de base des paramètres que vous pouvez spécifier pour les décodeurs. La manière dont vous utilisez un décodeur dépend du fichier XML qui contient vos données source.
Pour plus d’informations sur les exigences de format des sources de journaux XML, voir Sources de journalisation. Pour obtenir de l’aide sur la définition des décodeurs XML, contactez Adobe.
Le niveau supérieur d’un décodeur XML est un groupe de décodeurs (XMLDecoderGroup), qui est un ensemble de tables de décodeurs que vous utilisez pour extraire des données d’un fichier XML d’un format particulier. Si vous disposez de fichiers XML de formats différents, vous devez définir un groupe de décodeurs pour chaque format. Chaque groupe de décodeurs se compose d’une ou de plusieurs tables de décodeurs.
Le tableau suivant décrit le paramètre Tables et tous les sous-paramètres que vous devez spécifier pour définir un groupe de décodeurs XML.
Paramètre | Description |
---|---|
Tableaux | Chaque tableau d’un groupe de décodeurs représente un niveau de données à extraire du fichier XML. Si vous souhaitez, par exemple, extraire des données sur les visiteurs, vous créez un tableau de décodeur contenant les informations que vous souhaitez extraire pour chaque visiteur. Vous pouvez également créer des tableaux de décodeur dans les tableaux de décodeur (voir Enfants). Pour ajouter un tableau à un groupe de décodeurs
|
Champs | Champs étendus (par exemple, x-trackingid, x-email) dans lesquels les données sont stockées. Les données à stocker dans le champ sont déterminées par les sous-champs Chemin et/ou Opération . Le chemin d’accès est le niveau du champ dans le fichier XML structuré. Le chemin d’un champ est relatif au chemin d’accès du tableau dans lequel il est défini. Exemples : tag.tag.tag ou tag.tag.tag.@attribute . Notez que les chemins sont sensibles à la casse. Une Opération est appliquée à chaque ligne du chemin spécifié pour produire une sortie. Les opérations suivantes sont disponibles :
Pour ajouter un champ à un tableau de décodeur
|
Chemin d’accès | Niveau au sein du fichier XML structuré pour lequel le tableau de décodeur contient des informations. Pour un tableau de décodeur XML enfant, le chemin est relatif au chemin du tableau parent. Notez que les chemins sont sensibles à la casse. Par exemple, si votre fichier XML contient la structure :
|
Tableau | La valeur de ce paramètre doit toujours être "Entrée de journal".
Remarque : Ne modifiez pas cette valeur sans Adobe de conseil. |
Enfants | Facultatif. Une ou plusieurs tables de décodeur incorporées. Chaque enfant comprend les paramètres Champs, Chemin et Tableau décrits ci-dessus. Pour ajouter un enfant à un tableau de décodeur
|
Pour utiliser un fichier XML comme source de journal pour un jeu de données, les groupes de décodeur XML et les tableaux doivent être définis afin d’extraire les informations à traiter dans le jeu de données. Dans cet exemple, vous pouvez voir comment définir des groupes de décodeurs et des tableaux pour un exemple de source de journal XML pour un jeu de données web.
Le fichier XML suivant contient des informations sur le visiteur d’un site web, notamment un ID d’Experience Cloud, une adresse électronique, une adresse physique et des informations sur les pages vues du visiteur.
Puisque nous avons un seul fichier XML, nous n’avons besoin que d’un seul groupe de décodeurs, que nous appelons "Exemple de format XML". Ce groupe de décodeur s’applique à tout autre fichier XML au même format que ce fichier. Pour commencer à créer des tableaux de décodeur XML dans ce groupe de décodeurs, nous devons d’abord déterminer les informations à extraire et les champs dans lesquels les données seront stockées.
Dans cet exemple, nous extrayons des informations sur le visiteur et les pages vues associées à ce visiteur. Pour ce faire, nous créons un tableau de décodeur XML de niveau supérieur (parent) avec des informations sur le visiteur et un tableau de décodeur XML (enfant) incorporé avec des informations sur les pages vues de ce visiteur.
Les informations de la table parent (visiteur) sont les suivantes :
Les informations de la table enfant (pages vues) sont les suivantes :
La capture d’écran suivante montre une partie de Log Processing Dataset Include avec le groupe de décodeur XML obtenu pour l’exemple de fichier XML en fonction de la structure discutée des tables de décodeur XML parent et enfant.
Un tableau présentant la sortie de ce décodeur pour notre fichier XML d’exemple ressemble à ce qui suit :
x-rowtype | cs—uri-stem | x-email | x-is-registered | x-event-time | x-tracking-id |
---|---|---|---|---|---|
VISITEUR | foo@bar.com | 1 | 1 | ||
PAGEVIEW | /index.html | 2006-01-01 08:00:00 | 1 | ||
PAGEVIEW | / | 2006-01-01 08:00:30 | 1 |
Vous pouvez créer un tableau comme celui ci-dessus dans Data Workbench à l’aide d’une interface de visionneuse de champs. Pour plus d’informations sur l’interface de la visionneuse de champ, voir Outils de configuration des jeux de données.
Vous pouvez désormais utiliser la variable #value dans les chemins XML pour extraire la valeur d’un élément XML.
Par exemple, en spécifiant auparavant un chemin d’accès de <Hit><Page name="Home Page" index="20">home.html</Page></Hit>
vous empêchant de lire la valeur de la variable <Page>
balise . Pour lire la valeur d’une <Page>
et ses attributs, vous pouvez utiliser Hit.Page.@name et Hit.Page.@index respectivement. Vous pouvez également extraire la valeur de la balise à l’aide de l’option Hit.Page.#value
expression.
Par exemple, vous pouvez lire la valeur de la balise . <varValue>
en ajoutant le champ suivant dans le décodeur :
7 = XMLDecoderField:
Field = string: x-varvalue-name-added
Operation = string: LAST
Path = string:
<b>#value</b>
Path = string: varValue
Table = string: Log Entry
De même, vous pouvez lire la valeur de la balise . <Rep>
en ajoutant le champ suivant dans le décodeur :
7 = XMLDecoderField:
Field = string: x-rep-name-added
Operation = string: LAST
Path = string: Rep.#
<b>value</b>
Path = string: Reps
Table = string: Log Entry
En revanche, pour lire la valeur d’une balise d’élément sans attribut, une <text>
sous une balise <line>
et sa valeur peuvent être lues directement en donnant " text" dans un chemin d’accès ou en utilisant line.text, selon la manière dont vous avez créé le décodeur.
2 = XMLDecoderField:
Field = string: x-chat-text
Operation = string: LAST
Path = string:
<b>text</b>
Path = string:
<b>line</b>
Table = string: Log Entry