Show Menu
THEMEN×

XML Decoder-Gruppen

Die Verarbeitung von XML-Dateien als Protokollquellen zum Definieren von Dekodierern zum Extrahieren von Daten aus der XML-Datei.
Die Definition von XML-Decoder-Gruppen für XML-Protokollquellen erfordert Kenntnisse über die Struktur und den Inhalt der XML-Datei, die zu extrahierenden Daten und die Felder, in denen diese Daten gespeichert werden. Dieser Abschnitt enthält grundlegende Beschreibungen der Parameter, die Sie für Decoder angeben können. Die Art und Weise, wie Sie einen Decoder verwenden, hängt von der XML-Datei ab, die Ihre Quelldaten enthält.
Informationen zu den Formatanforderungen für XML-Protokollquellen finden Sie unter Protokollquellen . Wenden Sie sich an Adobe, um Hilfe beim Definieren von XML-Decodern zu erhalten.
Die oberste Ebene eines XML-Decoders ist eine Decoder-Gruppe (XMLDecoderGroup), eine Gruppe von Decoder-Tabellen, die Sie verwenden, um Daten aus einer XML-Datei eines bestimmten Formats zu extrahieren. Wenn Sie XML-Dateien unterschiedlicher Formate haben, müssen Sie für jedes Format eine Decoder-Gruppe definieren. Jede Decoder-Gruppe besteht aus einer oder mehreren Decoder-Tabellen.
In der folgenden Tabelle werden der Parameter "Tables"und alle Unterparameter beschrieben, die Sie zum Definieren einer XML-Decoder-Gruppe angeben müssen.
Parameter Beschreibung
Tabellen
Jede Tabelle in einer Decoder-Gruppe stellt eine Datenebene dar, die aus der XML-Datei extrahiert werden soll. Wenn Sie beispielsweise Daten zu Besuchern extrahieren möchten, erstellen Sie eine Decoder-Tabelle, die aus den Informationen besteht, die Sie für jeden Besucher extrahieren möchten. Sie können auch Decoder-Tabellen in Decoder-Tabellen erstellen (siehe Untergeordnete Elemente).
So fügen Sie einer Decoder-Gruppe eine Tabelle hinzu
  • Klicken Sie mit der rechten Maustaste auf Tabellen und klicken Sie auf Neue hinzufügen > XMLDecoderTabelle .
Felder
Die erweiterten Felder (z. B. x-trackingid, x-email), in denen die Daten gespeichert werden. Die im Feld zu speichernden Daten werden durch die Unterfelder Pfad und/oder Vorgang bestimmt.
Der Pfad ist die Feldebene innerhalb der strukturierten XML-Datei. Der Pfad eines Felds ist relativ zum Pfad der Tabelle, in der es definiert ist. Beispiele sind "tag.tag.tag" oder " "tag.tag.@attribute . Beachten Sie, dass bei Pfaden die Groß- und Kleinschreibung beachtet wird.
Ein Vorgang wird auf jede Zeile im angegebenen Pfad angewendet, um eine Ausgabe zu erzeugen. Die folgenden Vorgänge sind verfügbar:
  • LETZTE: Das Feld nimmt den Wert des letzten Vorkommens des Pfads in der XML-Datei an.
  • RANDOM: Weist dem Feld einen zufälligen Wert zu. Dieser Vorgang ist nützlich, wenn Sie eine eindeutige ID generieren müssen, z. B. für das x-trackingid-Feld.
  • INHERIT: Das definierte Feld übernimmt seinen Wert aus dem entsprechenden Feld der übergeordneten Tabelle.
  • " Konstante ": Die Konstante muss in Anführungszeichen gesetzt werden. Sie können einen konstanten Vorgang verwenden, um zu prüfen, ob ein bestimmter Pfad vorhanden ist; Wenn der Pfad vorhanden ist, wird dem Feld der Wert der Konstante zugewiesen.
So fügen Sie einer Decodertabelle ein Feld hinzu
  • Klicken Sie mit der rechten Maustaste auf Felder und dann auf Neu hinzufügen > XMLDecoderField . Definieren Sie Feld, Vorgang und Pfad nach Bedarf.
Pfad
Die Ebene in der strukturierten XML-Datei, für die die Decoder-Tabelle Informationen enthält. Bei einer untergeordneten XML-Decoder-Tabelle ist der Pfad relativ zum Pfad der übergeordneten Tabelle. Beachten Sie, dass bei Pfaden die Groß- und Kleinschreibung beachtet wird.
Wenn Ihre XML-Datei beispielsweise die Struktur enthält:
<visitor>
    
     
    
    ...
    
     
    
    </visitor>
    
    </logdata>  </code> <p> dann wäre der Pfad <span class="filepath"> logdata.visitor </span>. </p> </td>

Der Wert dieses Parameters sollte immer "Log Entry"lauten.
Hinweis: Ändern Sie diesen Wert nicht ohne Rücksprache mit Adobe.
Optional. Eine oder mehrere eingebettete Decoder-Tabellen. Jedes untergeordnete Element enthält die oben beschriebenen Parameter "Felder", "Pfad"und "Tabelle".
So fügen Sie einer Decodertabelle ein untergeordnetes Element hinzu
  • Klicken Sie mit der rechten Maustaste auf Untergeordnete Elemente und klicken Sie auf Neue hinzufügen > XMLDecoderTabelle . Definieren Sie Feld, Vorgang und Pfad nach Bedarf.
Um eine XML-Datei als Protokollquelle für einen Datensatz zu verwenden, müssen XML-Decoder-Gruppen und -Tabellen definiert werden, um die zu verarbeitenden Informationen in den Datensatz zu extrahieren. In diesem Beispiel können Sie sehen, wie Decoder-Gruppen und -Tabellen für eine XML-Protokollquelle für einen Webdataset definiert werden.
Die folgende XML-Datei enthält Informationen zu einem Website-Besucher, einschließlich einer Experience Cloud ID, E-Mail-Adresse, physischer Adresse und Informationen zu den Seitenansichten des Besuchers.
Da wir eine einzelne XML-Datei haben, benötigen wir nur eine Decoder-Gruppe, die wir "XML-Musterformat"nennen. Diese Decoder-Gruppe gilt für alle anderen XML-Dateien im gleichen Format wie diese Datei. Um mit der Erstellung von XML-Decoder-Tabellen innerhalb dieser Decoder-Gruppe zu beginnen, müssen wir zunächst festlegen, welche Informationen extrahiert werden sollen und in welchen Feldern die Daten gespeichert werden.
In diesem Beispiel extrahieren wir Informationen über den Besucher und die mit diesem Besucher verbundenen Seitenansichten. Dazu erstellen wir eine übergeordnete XML-Decoder-Tabelle mit Informationen zum Besucher und eine eingebettete (untergeordnete) XML-Decoder-Tabelle mit Informationen zu den Seitenansichten des Besuchers.
Die Informationen für die übergeordnete Tabelle (Besucher) lauten wie folgt:
  • Eine Datentypkennung für jede Datenzeile in der XML-Datei. Wir verwenden VISITOR als unseren Bezeichner, damit wir schnell Datenzeilen identifizieren können, die sich auf den Besucher und nicht auf die Seitenansichten beziehen. Wir können diesen Wert im Feld x-rowtype speichern.
  • Die Besucher-ID, die wir im Feld x-trackingid speichern.
  • Die E-Mail-Adresse des Besuchers (contact.email), die wir im Feld x-email speichern.
  • Der Registrierungsstatus des Besuchers. Wenn der Besucher ein registrierter Benutzer ist, können wir den Wert "1"im Feld "x-is-registered"speichern.
  • Der Wert "Pfad"ist logdata.visitorund der Wert "Tabelle" Log Entry. Informationen zu diesen Parametern finden Sie in der Tabelle XMLDecoderGroup oben.
Informationen für die untergeordnete Tabelle (Seitenansichten) lauten wie folgt:
  • Eine Datentypkennung für jede Datenzeile in der XML-Datei. Wir verwenden "PAGEVIEW"als unsere Kennung, damit wir schnell Datenzeilen identifizieren können, die sich auf die Seitenansichten des Besuchers und nicht nur auf den Besucher beziehen. Dieser Wert wird im Feld x-rowtype gespeichert.
  • Die Besucher-ID. Dieser Wert wird von der übergeordneten Tabelle übernommen und im Feld x-trackingid gespeichert.
  • Der Zeitstempel jeder Seitenansicht, der im Feld x-event-time gespeichert wird.
  • Der URI jeder Seitenansicht, die im Stammfeld cs-uri gespeichert wird.
  • Der Wert "Pfad"ist "pageview"und der Wert "Tabelle"lautet "Protokolleintrag". Informationen zu diesen Parametern finden Sie in der Tabelle XMLDecoderGroup oben.
Die folgende Bildschirmaufzeichnung zeigt einen Teil der Log Processing Dataset Include Datei mit der resultierenden XML-Decoder-Gruppe für die XML-Beispieldatei, basierend auf der diskutierten Struktur der übergeordneten und untergeordneten XML-Decoder-Tabellen.
Eine Tabelle mit der Ausgabe dieses Decoders für unsere XML-Musterdatei sieht wie folgt aus:
x-rowtype
cs—uri-stamm
x-email
x-is-registered
x-event-time
x-tracking-id
BESUCHER
1
1
PAGEVIEW
/index.html
2006-01-01 08:00:00
1
PAGEVIEW
/
2006-01-01 08:00:30
1
Sie können eine Tabelle wie die oben stehende in Data Workbench erstellen, indem Sie eine field-Viewer-Oberfläche verwenden. Informationen zur Benutzeroberfläche des field-Viewers finden Sie unter DataSet-Konfigurationstools .

Verwenden von #value für das XML-Element zum Lesen des Attributwerts

You can now use the #value tag in XML paths to pull the value of an XML element.
Wenn Sie beispielsweise zuvor einen Pfad von links angeben, können Sie den Wert des <Hit><Page name="Home Page" index="20">home.html</Page></Hit> <Page> Tags nicht lesen. Um den Wert eines <Page> Tags und dessen Attribute zu lesen, können Sie Hit.Page.@name bzw. Hit.Page.@index verwenden. Sie können den Wert des Tags auch mithilfe des Hit.Page.#value Ausdrucks abrufen.
Sie können beispielsweise den Wert des Tags lesen, <varValue> indem Sie dem Decoder das folgende Feld hinzufügen:
7 = XMLDecoderField: 
Field = string: x-varvalue-name-added 
Operation = string: LAST 
Path = string:  
<b>#value</b> 
Path = string: varValue 
Table = string: Log Entry

Gleichermaßen können Sie den Wert des Tags lesen, <Rep> indem Sie dem Decoder das folgende Feld hinzufügen:
7 = XMLDecoderField: 
Field = string: x-rep-name-added 
Operation = string: LAST 
Path = string: Rep.# 
<b>value</b> 
Path = string: Reps 
Table = string: Log Entry

Um den Wert des Element-Tags ohne Attribut zu lesen, können hingegen ein <text> Tag unter einem <line> -Tag und sein Wert direkt gelesen werden, indem " text"in einem Pfad angegeben oder verwendet wird, line.textje nachdem, wie Sie den Decoder erstellt haben.
2 = XMLDecoderField: 
Field = string: x-chat-text 
Operation = string: LAST 
Path = string:  
<b>text</b> 
Path = string:  
<b>line</b> 
Table = string: Log Entry