XML 解碼器群組

重要

深入了解Data Workbench 終止公告.

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

注意

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

有關XML日誌源的格式要求的資訊,請參見 記錄來源. 如需定義XML解碼器的協助,請連絡Adobe。

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

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

參數 說明
表格

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

新增表格至解碼器群組的方式

  • 按一下右鍵 表格 按一下 新增 > XMLDecoderTable .

欄位

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

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

操作將應用於指定路徑中的每行以生成輸出。 可使用下列操作:

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

新增欄位至解碼器表格的方式

  • 按一下右鍵 欄位 ,然後按一下 新增 > XMLDecoderField . 根據需要定義欄位、操作和路徑。

路徑

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

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

<visitor>

 

...

 

</visitor>

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

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

注意:若沒有諮詢Adobe,請勿變更此值。

兒童

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

將子項新增至解碼器表格的方式

  • 按一下右鍵 兒童 按一下 新增 > XMLDecoderTable . 根據需要定義欄位、操作和路徑。

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

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

由於我們有單一XML檔案,因此我們只需要一個解碼器群組,我們將其命名為「範例XML格式」。 此解碼器群組會套用至與此檔案格式相同的任何其他XML檔案。 若要開始在此解碼器群組中建立XML解碼器表格,首先必須決定要擷取的資訊以及要儲存資料的欄位。

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

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

  • XML檔案中每行資料的資料類型標識符。 我們使用VISITOR做為識別碼,以便快速識別與訪客相關的資料列,而非頁面檢視。 我們可將此值儲存在x-rowtype欄位中。
  • 訪客的ID,我們會儲存在x-trackingid欄位中。
  • 訪客的電子郵件地址(contact.email),我們會將其儲存在x-email欄位中。
  • 訪客的註冊狀態。 如果訪客是註冊使用者,我們可以在x-registered欄位中儲存「1」值。
  • 路徑值為 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 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

您可以使用欄位檢視器介面,在Data Workbench中建立與上述表格相似的表格。 如需欄位檢視器介面的相關資訊,請參閱 資料集組態設定工具.

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

您現在可以使用 #value 標籤,以提取XML元素的值。

例如,先前指定 <Hit><Page name="Home Page" index="20">home.html</Page></Hit> 讓您無法讀取 <Page> 標籤。 讀取 <Page> 標籤及其屬性,您可以使用 Hit.Page.@name 和 Hit.Page.@index 分別為5個。 您也可以使用 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> 標籤,且其值可透過給予「 text」,或使用 line.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

本頁內容