XML解碼器群組

將XML檔案作為日誌源進行處理,以定義用於從XML檔案中提取資料的解碼器。

NOTE

為XML日誌源定義XML解碼器組需要瞭解XML檔案的結構和內容、要提取的資料以及儲存該資料的欄位。 本節提供您可以為解碼器指定的參數的基本說明。 您使用任何解碼器的方式取決於包含來源資料的XML檔案。

有關XML日誌源的格式要求的資訊,請參 閱Log Sources。 如需定義XML解碼器的協助,請與Adobe聯絡。

XML解碼器的頂層是解碼器群組(XMLDecoderGroup),它是一組解碼器表,用於從特定格式的XML檔案擷取資料。 如果您有不同格式的XML檔案,則必須為每個格式定義解碼器群組。 每個解碼器組由一個或多個解碼器表組成。

下表說明了Tables參數以及您必須指定以定義XML解碼器群組的所有子參數。

參數 說明
表格

解碼器組中的每個表代表要從XML檔案中提取的一級資料。 例如,如果您想要擷取有關訪客的資料,則您會建立解碼器表格,其中包含您要為每位訪客擷取的資訊。 您也可以在解碼器表內建立解碼器表(請參閱子系)。

若要新增表格至解碼器群組

  • 按一下右鍵「 表」 ,然後單 擊「添加新」 > XMLDecoderTable

欄位

儲存資料的延伸欄位(例如x-trackingid、x-email)。 要儲存在欄位中的資料由路徑和/或操作子欄位確定。

路徑是結構化XML檔案中欄位的層級。 欄位的路徑相對於定義該欄位的表的路徑。 範例包 括tag.tag.tag tag.tag.tag。@attribute . 請注意,路徑區分大小寫。

「操作」(Operation)應用於指定路徑中的每行,以生成輸出。 可使用下列操作:

  • 最後: 該欄位會採用XML檔案中路徑上一次出現的值。
  • 隨機: 指派隨機值給欄位。 如果您需要產生唯一ID,例如x-trackingid欄位,此操作會很有用。
  • 繼承: 定義的欄位會從父表的相應欄位繼承其值。
  • "常數 ": 常數必須用引號括住。 可以使用常數操作來檢查是否存在特定路徑;如果路徑存在,則為欄位分配常數的值。

若要新增欄位至解碼器表格

  • 以滑鼠右鍵按 一下「欄 位」,然後按一 下「新增> XMLDecoderField」 。 根據需要定義欄位、工序和路徑。

路徑

解碼器表包含資訊的結構化XML檔案內的級別。 對於子XML解碼器表,路徑相對於父表的路徑。 請注意,路徑區分大小寫。

例如,如果XML檔案包含結構:

<visitor>

 

...

&

</visitor>

</logdata>&nbsp</code> <p>則路徑為<span class="filepath"> logdata.visitor </span>。 </p> </td>
表格

此參數的值應一律為「記錄項目」。

注意: 不要在未諮詢Adobe的情況下變更此值。

兒童

選填。一個或多個嵌入的解碼器表。 每個子項都包括上述的欄位、路徑和表參數。

若要將子系新增至解碼器表

  • 按一下右鍵 子項 ,然後單 擊添加新 > XMLDecoderTable 。 根據需要定義欄位、工序和路徑。

若要將XML檔案用作資料集的記錄來源,必須定義XML解碼器群組和表格,以擷取要處理至資料集的資訊。 在此範例中,您可以瞭解如何為Web資料集的範例XML記錄檔來源定義解碼器群組和表格。

以下XML檔案包含網站訪客的相關資訊,包括Experience Cloud ID、電子郵件地址、實體位址,以及訪客頁面檢視的相關資訊。

由於我們有單一XML檔案,所以只需要一個解碼器群組,我們稱之為「範例XML格式」。 此解碼器組適用於與此檔案格式相同的任何其他XML檔案。 要開始在此解碼器組內構建XML解碼器表,首先必須確定要提取哪些資訊以及要儲存資料的欄位。

在此範例中,我們會擷取有關該訪客的資訊以及與該訪客關聯的頁面檢視。 為此,我們建立頂層(父)XML解碼器表格,其中包含訪客的相關資訊,以及內嵌(子)XML解碼器表格,其中包含該訪客的頁面檢視相關資訊。

上層(訪客)表格的資訊如下

  • XML檔案中每一列資料的資料類型識別碼。 我們使用VISITOR做為識別碼,以便快速識別與訪客相關的資料列,而非頁面檢視。 我們可將此值儲存在x-rowtype欄位中。
  • 訪客的ID,我們儲存在x-trackingid欄位中。
  • 訪客的電子郵件地址(contact.email),我們將其儲存在x-email欄位中。
  • 訪客的註冊狀態。 如果訪客是已註冊的使用者,我們可將值"1"儲存在x-is-registered欄位中。
  • 路徑值為 logdata.visitor,表值為 Log Entry。 有關這些參數的資訊,請參見上面的XMLDecoderGroup表。

子(頁面檢視)表格的資訊如下:

  • XML檔案中每一列資料的資料類型識別碼。 我們使用"PAGEVIEW"做為識別碼,以便快速識別與訪客的頁面檢視相關的資料列,而非僅與訪客相關的資料列。 我們將此值儲存在x-rowtype欄位中。
  • 訪客的ID。 此值繼承自父表格,並儲存在x-trackingid欄位中。
  • 每個頁面檢視的時間戳記,會儲存在x-event-time欄位中。
  • 每個頁面檢視的URI,會儲存在cs-uri-stem欄位中。
  • 路徑值為pageview,表值為「記錄項目」。 有關這些參數的資訊,請參見上面的XMLDecoderGroup表。

以下螢幕截圖顯示基於所討論的父 Log Processing Dataset Include XML解碼器表和子XML解碼器表的結構,為示例XML檔案生成的XML解碼器組的一部分檔案。

顯示此解碼器輸出之範例XML檔案的表格如下:

x-rowtype cs-uri-stem x-email x-is-registered x-event-time x-tracking-id
訪客 foo@bar.com 1 1
PAGEVIEW /index.html 2006-01-01 08:00:00 1
PAGEVIEW / 2006-01-01 08:00:30 1

您可以使用欄位檢視器介面,在資料工作台中建立類似上述表格的表格。 如需欄位檢視器介面的詳細資訊,請參 閱資料集設定工具

在XML元素上使用#value讀取其屬性值

You can now use the #value tag in XML paths to pull the value of an XML element.

例如,先前指定的路徑 <Hit><Page name="Home Page" index="20">home.html</Page></Hit> 讓您無法讀取標籤的 <Page> 值。 若要讀取標籤的值 <Page> 及其屬性,您可以分別使 Hit.Page.@name 用和 Hit.Page.@index 。 您也可以使用運算式提取標籤的 Hit.Page.#value 值。

例如,您可在解碼器中新增下列欄 <varValue> 位來讀取標籤值:

7 = XMLDecoderField: 
Field = string: x-varvalue-name-added 
Operation = string: LAST 
Path = string:  
<b>#value</b> 
Path = string: varValue 
Table = string: Log Entry

同樣地,您也可以在解碼器中新增下 <Rep> 列欄位來讀取標籤值:

7 = XMLDecoderField: 
Field = string: x-rep-name-added 
Operation = string: LAST 
Path = string: Rep.# 
<b>value</b> 
Path = string: Reps 
Table = string: Log Entry

相反地,若要讀取不含屬性的元素標籤值, <text> <line> 標籤下的標籤及其值可直接透過在路徑中指定「 textline.text」或使用來讀取,視您建立解碼器的方式而定。

2 = XMLDecoderField: 
Field = string: x-chat-text 
Operation = string: LAST 
Path = string:  
<b>text</b> 
Path = string:  
<b>line</b> 
Table = string: Log Entry

本頁內容