Leia mais sobre Datas Workbench Anúncio do fim da vida útil.
O processamento de arquivos XML como fontes de log para definir decodificadores para extrair dados do arquivo XML.
A definição de grupos do decodificador de XML para fontes de log XML requer conhecimento da estrutura e do conteúdo do arquivo XML, dos dados a serem extraídos e dos campos em que esses dados são armazenados. Esta seção fornece descrições básicas dos parâmetros que você pode especificar para decodificadores. A maneira como você usa qualquer decodificador depende do arquivo XML que contém seus dados de origem.
Para obter informações sobre os requisitos de formato para fontes de log XML, consulte Fontes de log. Para obter assistência com a definição de decodificadores XML, entre em contato com o Adobe.
O nível superior de um decodificador XML é um grupo decodificador (XMLDecoderGroup), que é um conjunto de tabelas decodificadoras usadas para extrair dados de um arquivo XML de um formato específico. Se você tiver arquivos XML de diferentes formatos, deverá definir um grupo de decodificadores para cada formato. Cada grupo decodificador consiste em uma ou mais tabelas decodificadoras.
A tabela a seguir descreve o parâmetro Tables e todos os subparâmetros que você deve especificar para definir um grupo do decodificador de XML.
Parâmetro | Descrição |
---|---|
Tabelas | Cada tabela em um grupo decodificador representa um nível de dados a serem extraídos do arquivo XML. Por exemplo, se você deseja extrair dados sobre visitantes, é possível criar uma tabela de decodificadores que consiste nas informações que você deseja extrair para cada visitante. Você também pode criar tabelas decodificadoras em tabelas decodificadoras (consulte Filhos). Para adicionar uma tabela a um grupo decodificador
|
Campos | Os campos estendidos (por exemplo, x-trackingid, x-email) nos quais os dados são armazenados. Os dados a serem armazenados no campo são determinados pelos subcampos Path e/ou Operation . O Caminho é o nível do campo dentro do arquivo XML estruturado. O caminho de um campo é relativo ao caminho da tabela em que ele está definido. Os exemplos incluem tag.tag.tag ou tag.tag.tag.@attribute . Observe que os caminhos fazem distinção entre maiúsculas e minúsculas. Uma Operação é aplicada a cada linha no caminho especificado para produzir uma saída. As seguintes operações estão disponíveis:
Para adicionar um campo a uma tabela de decodificador
|
Caminho | O nível no arquivo XML estruturado para o qual a tabela do decodificador contém informações. Para uma tabela de decodificador XML secundário, o caminho é relativo ao caminho da tabela pai. Observe que os caminhos fazem distinção entre maiúsculas e minúsculas. Por exemplo, se o arquivo XML contiver a estrutura:
|
Tabela | O valor desse parâmetro deve sempre ser "Entrada de log".
Observação: Não altere esse valor sem consultar o Adobe. |
Crianças | Opcional. Uma ou mais tabelas de decodificador incorporadas. Cada filho inclui os parâmetros Campos, Caminho e Tabela descritos acima. Para adicionar um filho a uma tabela de decodificador
|
Para usar um arquivo XML como uma fonte de log para um conjunto de dados, os grupos e as tabelas do decodificador de XML devem ser definidos para extrair as informações que devem ser processadas no conjunto de dados. Neste exemplo, você pode ver como definir grupos e tabelas de decodificadores para uma fonte de log XML de amostra para um conjunto de dados da Web.
O arquivo XML a seguir contém informações sobre um visitante do site, incluindo uma ID de Experience Cloud, endereço de email, endereço físico e informações sobre as exibições de página do visitante.
Como temos um único arquivo XML, precisamos de apenas um grupo decodificador, que nomeamos "Formato XML de Amostra". Esse grupo decodificador se aplica a qualquer outro arquivo XML do mesmo formato desse arquivo. Para começar a construir tabelas do decodificador de XML nesse grupo do decodificador, devemos primeiro determinar quais informações queremos extrair e os campos nos quais os dados serão armazenados.
Neste exemplo, extraímos informações sobre o visitante e as exibições de página associadas a esse visitante. Para fazer isso, criamos uma tabela do decodificador de XML de nível superior (pai) com informações sobre o visitante e uma tabela do decodificador de XML (filho) incorporada com informações sobre as exibições de página do visitante.
As informações da tabela pai (visitante) são as seguintes
As informações para a tabela secundária (exibições de página) são as seguintes:
A captura de tela a seguir mostra uma parte de Log Processing Dataset Include arquivo com o grupo do decodificador XML resultante para o arquivo XML de amostra com base na estrutura discutida das tabelas do decodificador principal e XML secundário.
Uma tabela que mostra a saída desse decodificador para nosso arquivo XML de amostra é semelhante ao seguinte:
x-rowtype | cs—uri-stem | x-email | x-is-register | x-event-time | x-tracking-id |
---|---|---|---|---|---|
VISITANTE | foo@bar.com | 1 | 1 | ||
PAGEVIEW | /index.html | 2006-01-01 08:00:00 | 1 | ||
PAGEVIEW | / | 2006-01-01 08:00:30º | 1 |
Você pode criar uma tabela como a acima no Data Workbench usando uma interface do visualizador de campo. Para obter informações sobre a interface do visualizador de campo, consulte Ferramentas de configuração do conjunto de dados.
Agora você pode usar o #value em caminhos XML para obter o valor de um elemento XML.
Por exemplo, especificar anteriormente um caminho de <Hit><Page name="Home Page" index="20">home.html</Page></Hit>
à esquerda, você não pode ler o valor da variável <Page>
. Para ler o valor de um <Page>
e seus atributos, você pode usar Hit.Page.@name e Hit.Page.@index respectivamente. Também é possível obter o valor da tag usando Hit.Page.#value
expressão.
Por exemplo, você pode ler o valor da tag <varValue>
adicionando o seguinte campo no decodificador:
7 = XMLDecoderField:
Field = string: x-varvalue-name-added
Operation = string: LAST
Path = string:
<b>#value</b>
Path = string: varValue
Table = string: Log Entry
Da mesma forma, é possível ler o valor da tag <Rep>
adicionando o seguinte campo no decodificador:
7 = XMLDecoderField:
Field = string: x-rep-name-added
Operation = string: LAST
Path = string: Rep.#
<b>value</b>
Path = string: Reps
Table = string: Log Entry
Por outro lado, para ler o valor da tag de elemento sem atributo, uma <text>
sob uma <line>
e seu valor pode ser lido diretamente dando " text" em um caminho ou usando line.text, dependendo de como você criou o decodificador.
2 = XMLDecoderField:
Field = string: x-chat-text
Operation = string: LAST
Path = string:
<b>text</b>
Path = string:
<b>line</b>
Table = string: Log Entry