Traitement des fichiers XML en tant que sources de journaux pour définir les décodeurs permettant d’extraire des données du fichier XML.
La définition de groupes de décodeurs 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 contenant vos données source.
Pour plus d’informations sur la configuration requise pour les sources de journaux XML, voir Sources dejournaux. Pour obtenir de l’aide sur la définition de 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. Par exemple, si vous souhaitez extraire des données sur les visiteurs, vous devez créer 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 la section 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 correspond au niveau du champ dans le fichier XML structuré. Le chemin d’un champ est relatif au chemin du tableau dans lequel il est défini. Par exemple, 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 du fichier XML structuré pour lequel le tableau du décodeur contient des informations. Pour un tableau de décodeur XML enfant, le chemin d’accès est relatif au chemin d’accès 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 "Log Entry".
Remarque : Ne modifiez pas cette valeur sans consulter Adobe. |
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 à une table de décodeur
|
Pour utiliser un fichier XML comme source de journal pour un jeu de données, les groupes de décodeurs XML et les tableaux doivent être définis pour 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 un visiteur de site Web, notamment un ID Experience Cloud, une adresse électronique, une adresse physique et des informations sur les pages vues par le visiteur.
Puisque nous disposons d’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écodeurs s’applique à tous les autres fichiers XML du même format que ce fichier. Pour commencer à construire des tables de décodeur XML dans ce groupe de décodeurs, nous devons d’abord déterminer les informations que nous voulons 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 une table de décodeur XML de niveau supérieur (parent) avec des informations sur le visiteur et une table de décodeur XML (enfant) incorporée avec des informations sur les pages vues de ce visiteur.
Les informations du tableau parent (visiteur) sont les suivantes :
Les informations relatives au tableau enfant (pages vues) sont les suivantes :
La capture d’écran suivante montre une partie du Log Processing Dataset Include fichier avec le groupe de décodeurs XML résultant pour l’exemple de fichier XML en fonction de la structure discutée des tableaux de décodeurs XML parent et enfant.
Un tableau présentant la sortie de ce décodeur pour notre exemple de fichier XML ressemble à ce qui suit :
x-rowtype | cs—uri-stem | x-email | x-is-register | 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 l’outil de données à l’aide d’une interface de lecteur de champ. Pour plus d’informations sur l’interface du lecteur de champ, voir Outils de configuration des jeux dedonnées.
You can now use the #value tag in XML paths to pull the value of an XML element.
Par exemple, si vous spécifiez précédemment un chemin d’accès de <Hit><Page name="Home Page" index="20">home.html</Page></Hit>
sorte que vous ne puissiez pas lire la valeur de la <Page>
balise . Pour lire la valeur d’une <Page>
balise 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 Hit.Page.#value
l’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 de la balise d’élément sans attribut, une balise <text>
sous une <line>
balise 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