XML to JSON Transformer
Descubra mais sobre o conector XML to JSON Transformer e como usá-lo na Digibee Integration Platform
O XML to JSON Transformer transforma um XML string em um objeto JSON.
Parâmetros
Configure o conector usando os parâmetros abaixo. Campos que suportam expressões Double Braces estão marcados na coluna Suporta DB.
Alias
Nome (alias) para a saída deste conector, permitindo que você faça referência a ele posteriormente no fluxo usando expressões Double Braces.
String
✅
xml-to-json-1
XML Field Path
Caminho do campo XML a ser transformado, usando notação com pontos. Se o campo for uma matriz, todos os elementos serão processados. Você pode especificar vários campos separando-os por vírgulas.
String
❌
body
Preserve Original
Se habilitado, os campos originais serão preservados no resultado da transformação. Para diferenciar os campos originais dos transformados, um sublinhado (_) é adicionado no início dos nomes dos campos originais.
Booleano
❌
True
With Namespace
Se habilitado, os namespaces XML são preservados no resultado da transformação.
Booleano
❌
True
Remove XML Attributes
Se habilitado, os atributos XML ficarão ocultos no resultado da transformação.
Booleano
❌
False
All Values As String
Se habilitado, todos os valores de tags XML serão convertidos para o tipo string.
Booleano
❌
False
Escape Special Characters
Se habilitado,escapa automaticamente caracteres XML reservados (&,<,>) para evitar erros de análise durante a transformação de dados.
Booleano
❌
False
Tolerate Invalid XML
Se habilitado, um objeto JSON de fallback será retornado em vez de lançar uma exceção para XML inválido.
Booleano
❌
False
Documentation
Campo opcional para descrever a configuração do conector e quaisquer regras de negócio relevantes.
String
❌
N / A
Fluxo de mensagens
Entrada
O conector não requer uma mensagem de entrada específica. Você só precisa configurar o parâmetro XML Field Path com uma referência ao caminho do campo que contém o XML a ser transformado. Este campo deve estar presente na saída da etapa imediatamente anterior à execução do XML to JSON Transformer.
Saída
A estrutura de saída permanece a mesma que a recebida na etapa anterior. Os campos especificados no parâmetro XML Field Path são transformados em sua representação de objeto JSON. Se ocorrer um erro, uma propriedade error é criada no mesmo nível da propriedade original.
Quando o parâmetro Preserve Original estiver habilitado, cada campo definido no parâmetro XML Field Path gera uma propriedade adicional prefixada com um sublinhado (_), contendo a sequência XML original.
A notação com pontos de JSON identifica o elemento raiz que está sendo processado pelo pipeline e navega por ele de acordo com o caminho definido no parâmetro XML Field Path.
Exemplo:
Em um parâmetro XML Field Path representado como a.b.c.d, o conector irá:
Procurar o elemento
ano nível da raiz.Dentro de
aele vai encontrarb.Então, dentro de
bele vai encontrarc.Por fim, ele vai acessar
d, que é o elemento a ser transformado.
O conector identifica cada <d> elemento dentro <c>→<b>→<a> e os converte em JSON.
Se um array é encontrado ao longo do caminho (por exemplo, se b contém vários itens), o algoritmo processa cada elemento do array individualmente, criando um caminho separado para cada um.
Em outras palavras, o algoritmo substitui todas as ocorrências do caminho definido no parâmetro XML Field Path ao longo da mensagem.
XML to JSON Transformer em ação
Para todos os cenários abaixo, será considerado o seguinte payload contendo campo XML String:
{
"xmlField": "<?xml version=\"1.0\" ?><inf:ProductInformation xmlns:inf=\"urn:product:Info\" xmlns:stk=\"urn:product:Stock\"><inf:ProductName Code=\"C00001\">Computer</inf:ProductName><inf:Price Units=\"$\">2500</inf:Price><stk:Volume Units=\"Units\">200</stk:Volume></inf:ProductInformation>"
}Transformação de XML
Entrada
Parâmetros
XML Field Path: xmlField
Preserve Original: false
With Namespace: false
Remove XML Attributes: false
All Values As String: false
Saída
{
"xmlField": {
"ProductInformation": {
"ProductName": {
"Code": "C00001",
"content": "Computer"
},
"Price": {
"Units": "$",
"content": 2500
},
"Volume": {
"Units": "Units",
"content": 200
},
"xmlns:stk": "urn:product:Stock",
"xmlns:inf": "urn:product:Info"
}
}
}Transformação de XML com parâmetro "Preserve Original" ativado
Entrada
Parâmetros
XML Field Path: xmlField
Preserve Original: true
With Namespace: false
Remove XML Attributes: false
All Values As String: false
Saída
{
"xmlField": {
"ProductInformation": {
"ProductName": {
"Code": "C00001",
"content": "Computer"
},
"Price": {
"Units": "$",
"content": 2500
},
"Volume": {
"Units": "Units",
"content": 200
},
"xmlns:stk": "urn:product:Stock",
"xmlns:inf": "urn:product:Info"
}
},
"_xmlField": "<?xml version=\"1.0\" ?><inf:ProductInformation xmlns:inf=\"urn:product:Info\" xmlns:stk=\"urn:product:Stock\"><inf:ProductName Code=\"C00001\">Computer</inf:ProductName><inf:Price Units=\"$\">2500</inf:Price><stk:Volume Units=\"Units\">200</stk:Volume></inf:ProductInformation>"
}
Transformação de XML com parâmetro "With Namespace" ativado
Entrada
Parâmetros
XML Field Path: xmlField
Preserve Original: false
With Namespace: true
Remove XML Attributes: false
All Values As String: false
Saída
{
"xmlField": {
"inf:ProductInformation": {
"inf:Price": {
"Units": "$",
"content": 2500
},
"xmlns:stk": "urn:product:Stock",
"xmlns:inf": "urn:product:Info",
"inf:ProductName": {
"Code": "C00001",
"content": "Computer"
},
"stk:Volume": {
"Units": "Units",
"content": 200
}
}
}
}Transformação de XML com parâmetro "Remove XML Attributes" ativado
Entrada
Parâmetros
XML Field Path: xmlField
Preserve Original: false
With Namespace: false
Remove XML Attributes: true
All Values As String: false
Saída
{
"xmlField": {
"ProductInformation": {
"ProductName": "Computer",
"Price": 2500,
"Volume": 200
}
}
}Transformação de XML com parâmetro "All Values As String" ativado
Entrada
Parâmetros
XML Field Path: xmlField
Preserve Original: false
With Namespace: false
Remove XML Attributes: true
All Values As String: true
Saída
{
"xmlField": {
"ProductInformation": {
"ProductName": "Computer",
"Price": "2500",
"Volume": "200"
}
}
}Transformation XML com o parâmetro “Escape Special Characters” habilitado
Entrada
{
"xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<relatorio_vendas>\n <empresa>Soluções & Cia Ltda.</empresa>\n <data_geracao>2025-10-13</data_geracao>\n \n <produto id=\"A101\">\n <nome>Placa de Vídeo TurboX</nome>\n <estoque>50</estoque>\n <avaliacao>4.5</avaliacao>\n <comparacao>Performance > Preço</comparacao>\n </produto>\n \n <produto id=\"B202\">\n <nome>Processador Velox 9</nome>\n <estoque>35</estoque>\n <avaliacao>4.8</avaliacao>\n <comparacao>Custo < Benefício</comparacao>\n </produto>\n \n <observacoes>\n Revisar o pedido #PO-789 & o #PO-790.\n A meta de vendas é > 100 unidades para o Processador Velox 9.\n O custo deve ser < $500 por unidade.\n </observacoes>\n \n</relatorio_vendas>"
}
Parâmetros
XML Field Path:
xmlFieldPreserve Original: false
With Namespace: false
Remove XML Attributes: false
All Values As String: false
Escape Special Characters: true
Saída
{
"xml": {
"relatorio_vendas": {
"observacoes": " Revisar o pedido #PO-789 & o #PO-790.\n A meta de vendas é > 100 unidades para o Processador Velox 9.\n O custo deve ser < $500 por unidade.\n ",
"produto": [
{
"estoque": 50,
"comparacao": "Performance > Preço",
"nome": "Placa de Vídeo TurboX",
"id": "A101",
"avaliacao": 4.5,
"content": [
" ",
" ",
" ",
" ",
" "
]
},
{
"estoque": 35,
"comparacao": "Custo < Benefício",
"nome": "Processador Velox 9",
"id": "B202",
"avaliacao": 4.8,
"content": [
" ",
" ",
" ",
" ",
" "
]
}
],
"empresa": "Soluções & Cia Ltda.",
"content": [
" ",
" ",
" \n ",
" \n ",
" \n ",
" "
],
"data_geracao": "2025-10-13"
}
}
}
Atualizado
Isto foi útil?