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 delog. 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
|
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:
Para adicionar um campo a uma tabela decodificadora
|
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:
|
Tabela | O valor desse parâmetro deve ser sempre "Entrada do registro".
Observação: Não altere esse valor sem consultar a Adobe. |
Crianças | 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
|
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
As informações para a tabela filho (exibições de página) são as seguintes:
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 | 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 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 deconjuntos de dados.
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