Show Menu
SUJETS×

Groupes de décodeurs XML

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 de journaux. 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
  • Cliquez avec le bouton droit de la souris sur Tableaux , puis cliquez sur Ajouter un nouveau > XMLDecoderTable .
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 :
  • DERNIÈRE : Le champ prend la valeur de la dernière occurrence du chemin d’accès dans le fichier XML.
  • RANDOM : Attribue une valeur aléatoire au champ. Cette opération est utile si vous devez générer un identifiant unique, par exemple pour le champ x-trackingid.
  • HÉRITE : Le champ défini hérite de sa valeur du champ correspondant de la table parente.
  • " constant " : La constante doit être entourée de guillemets. Vous pouvez utiliser une opération constante pour vérifier l’existence d’un chemin particulier ; si le chemin existe, la valeur de la constante est affectée au champ.
Pour ajouter un champ à un tableau de décodeur
  • Cliquez avec le bouton droit sur Champs , puis cliquez sur Ajouter un nouveau > XMLDecoderField . Définissez le champ, l’opération et le chemin d’accès selon les besoins.
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 :
<visitor>
    
     
    
    ...
    
     
    
    </visitor>
    
    </logdata>  </code> <p> alors le chemin serait <span class="filepath"> logdata.visitor </span>. </p> </td>

La valeur de ce paramètre doit toujours être "Log Entry".
Remarque : Ne modifiez pas cette valeur sans consulter Adobe.
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
  • Cliquez avec le bouton droit de la souris sur Enfants et cliquez sur Ajouter un nouveau > XMLDecoderTable . Définissez le champ, l’opération et le chemin d’accès selon les besoins.
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 :
  • Identifiant de type de données pour chaque ligne de données dans le fichier XML. Nous utilisons VISITOR comme identifiant afin de pouvoir identifier rapidement les lignes de données relatives au visiteur et non aux pages vues. Nous pouvons stocker cette valeur dans le champ x-rowtype.
  • Identifiant du visiteur, que nous stockons dans le champ x-trackingid.
  • Adresse électronique du visiteur (contact.email), que nous stockons dans le champ x-email.
  • Statut d’enregistrement du visiteur. Si le visiteur est un utilisateur enregistré, nous pouvons stocker la valeur "1" dans le champ x-is-register.
  • La valeur Chemin est logdata.visitor, et la valeur Table Log Entry. Pour plus d’informations sur ces paramètres, voir le tableau XMLDecoderGroup ci-dessus.
Les informations relatives au tableau enfant (pages vues) sont les suivantes :
  • Identifiant de type de données pour chaque ligne de données dans le fichier XML. Nous utilisons "PAGEVIEW" comme identifiant afin que nous puissions identifier rapidement les lignes de données relatives aux pages vues du visiteur et non pas seulement au visiteur. Cette valeur est stockée dans le champ x-rowtype.
  • Identifiant du visiteur. Cette valeur est héritée de la table parente et stockée dans le champ x-trackingid.
  • Horodatage de chaque page vue, qui est stocké dans le champ x-event-time.
  • URI de chaque page vue, stockée dans le champ cs-uri-tige.
  • La valeur Chemin est pageview et la valeur Table est "Log Entry". Pour plus d’informations sur ces paramètres, voir le tableau XMLDecoderGroup ci-dessus.
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
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 de données.

Utilisation de #value sur un élément XML pour lire sa valeur d’attribut

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