Show Menu
TÓPICOS×

Grupos do decodificador de XML

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 XML para fontes de log XML exige conhecimento da estrutura e do conteúdo do arquivo XML, dos dados a serem extraídos e dos campos nos quais 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 os dados de origem.
Para obter informações sobre os requisitos de formato para fontes de log XML, consulte Fontes de log. Para obter ajuda com a definição de decodificadores XML, entre em contato com a Adobe.
O nível superior de um decodificador XML é um grupo decodificador (XMLDecoderGroup), que é um conjunto de tabelas decodificadoras que você usa para extrair dados de um arquivo XML de um formato específico. Se você tiver arquivos XML de diferentes formatos, deverá definir um grupo decodificador 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 decodificador 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ê quiser extrair dados sobre os visitantes, crie uma tabela de decodificadores que consiste nas informações que deseja extrair para cada visitante. Também é possível criar tabelas de decodificação em tabelas de decodificação (consulte Filhos).
Para adicionar uma tabela a um grupo de decodificadores
  • Clique com o botão direito do mouse em Tabelas e clique em Adicionar novo > XMLDecderTable .
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 Caminho e/ou Operação.
O Caminho é o nível do campo dentro do arquivo XML estruturado. O caminho de um campo é relativo ao caminho da tabela na qual 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:
  • ÚLTIMO: O campo obtém o valor da última ocorrência do caminho no arquivo XML.
  • ALEATORIAMENTE: Atribui um valor aleatório ao campo. Essa operação é útil se você precisar gerar uma id exclusiva, como para o campo x-trackingid.
  • HERDAR: O campo definido herda seu valor do campo correspondente da tabela pai.
  • " constante ": A constante deve estar entre aspas. Você pode usar uma operação constante para verificar a existência de um caminho específico; se o caminho existir, o valor da constante é atribuído ao campo.
Para adicionar um campo a uma tabela decodificadora
  • Clique com o botão direito do mouse em Campos e, em seguida, clique em Adicionar novo > XMLDecoderField . Defina Campo, Operação e Caminho conforme apropriado.
Caminho
O nível dentro do arquivo XML estruturado no qual a tabela do decodificador contém informações. Para uma tabela decodificadora XML secundária, 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:
<visitor>
    
     
    
    ...
    
     
    
    </visitor>
    
    </logdata>  </code> <p> então o caminho seria <span class="filepath"> logdata.visitor </span>. </p> </td>

O valor desse parâmetro deve ser sempre "Entrada do registro".
Observação: Não altere esse valor sem consultar a Adobe.
Opcional. Uma ou mais tabelas de decodificação incorporadas. Cada filho inclui os parâmetros Campos, Caminho e Tabela descritos acima.
Para adicionar um filho a uma tabela de decodificadores
  • Clique com o botão direito do mouse em Filhos e clique em Adicionar novo > XMLDecderTable . Defina Campo, Operação e Caminho conforme apropriado.
Para usar um arquivo XML como fonte de log para um conjunto de dados, os grupos e as tabelas do decodificador 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 de decodificadores e tabelas 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 Experience Cloud ID, 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 de decodificadores se aplica a qualquer outro arquivo XML do mesmo formato que esse arquivo. Para começar a construir tabelas decodificadoras XML dentro desse grupo decodificador, precisamos 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 decodificadora XML de nível superior (pai) com informações sobre o visitante e uma tabela decodificadora XML incorporada (filho) com informações sobre as exibições de página do visitante.
As informações da tabela pai (visitante) são as seguintes
  • Um identificador de tipo de dados para cada linha de dados no arquivo XML. Usamos o VISITANTE como nosso identificador para que possamos identificar rapidamente linhas de dados pertencentes ao visitante e não às exibições de página. Podemos armazenar esse valor no campo x-rowtype.
  • A ID do visitante, que armazenamos no campo x-trackingid.
  • O endereço de email do visitante (contact.email), que armazenamos no campo x-email.
  • O status de registro do visitante. Se o visitante for um usuário registrado, podemos armazenar o valor "1" no campo x-is-registrado.
  • O valor Caminho é logdata.visitore o valor Tabela é Log Entry. Para obter informações sobre esses parâmetros, consulte a tabela XMLDecoderGroup acima.
As informações para a tabela filho (exibições de página) são as seguintes:
  • Um identificador de tipo de dados para cada linha de dados no arquivo XML. Usamos "PAGEVIEW" como nosso identificador para que possamos identificar rapidamente linhas de dados pertencentes às exibições de página do visitante e não apenas ao visitante. Nós armazenamos esse valor no campo x-rowtype.
  • A ID do visitante. Esse valor é herdado da tabela pai e armazenado no campo x-trackingid.
  • O carimbo de data e hora de cada exibição de página, armazenado no campo x-event-time.
  • O URI de cada exibição de página, que é armazenado no campo do tronco cs-uri.
  • O valor de Caminho é pageview, e o valor de Tabela é "Entrada de registro". Para obter informações sobre esses parâmetros, consulte a tabela XMLDecoderGroup acima.
A captura de tela a seguir mostra uma parte do Log Processing Dataset Include arquivo com o grupo de decodificador XML resultante para o arquivo XML de amostra com base na estrutura discutida das tabelas de decodificador XML pai e filho.
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-registration
x-event-time
x-tracking-id
VISITANTE
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 na análise de big data usando uma interface do visualizador de campo. Para obter informações sobre a interface do visualizador de campos, consulte Ferramentas de configuração de conjuntos de dados.

Usar #value on XML element para ler o valor do atributo

You can now use the #value tag in XML paths to pull the value of an XML element.
Por exemplo, ao especificar um caminho à esquerda, não é possível ler o valor da <Hit><Page name="Home Page" index="20">home.html</Page></Hit> <Page> tag. Para ler o valor de uma <Page> tag e seus atributos, você pode usar Hit.Page.@name e Hit.Page.@index , respectivamente. Você também pode puxar o valor da tag usando a 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> tag sob uma <line> tag e seu valor podem ser lidos diretamente fornecendo " 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