Como usar o DataWeave para ler XML

Como usar o DataWeave para ler XML

Como usar o DataWeave para ler XML
cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Em algum momento do desenvolvimento de um aplicativo Mule, é quase inevitável que você precise manipular XML.

Neste artigo, ensinarei como ler XML usando scripts DataWeave e como modificar sua codificação, espaços para nome, campos e atributos com o objetivo de gerar uma saída de documento JSON.

Começando

Para começar, precisamos de alguns dados XML de amostra como entrada para a transformação DataWeave que escreveremos.

Dados XML de amostra

Neste artigo, usaremos o seguinte snippet de dados XML:

Vamos começar extraindo metadados da amostra XML: o tipo de codificação e o espaço para nome.

Extraia o tipo de codificação

Para extrair o tipo de codificação do XML, infelizmente não há solução elegante. O que é necessário é uma expressão DataWeave para converter a carga útil usando a análise bruta e, em seguida, procurá-la com uma expressão regular.

Expressão DataWeave:

Saída DateWeave:

Extraia o aNamespace

O DataWeave suporta totalmente os namespaces XML. Um espaço para nome XML é um mecanismo recomendado pelo W3C que evita conflitos de nome, diferenciando elementos ou atributos XML que podem ter nomes idênticos, mas com definições diferentes.

Para extrair o espaço para nome de um elemento XML, use o símbolo de hash “#. ”

Expressão DataWeave:

Saída do DataWeave:

Transformando campos XML

Ao transformar XML em JSON, você pode encontrar algumas dificuldades:

  1. O XML permite apenas um elemento raiz, enquanto o JSON permite vários.
  2. Não há conceito de matriz em XML (apenas elementos repetidos), no entanto, a estrutura de dados JSON é baseada em matrizes e objetos.

Para superar esses problemas, o DataWeave fornece as seguintes soluções:

  1. Para transformar elementos XML repetidos em uma matriz JSON, use o asterisco “* ” Seletor DataWeave para criá-lo.
  2. Como o JSON pode ter vários elementos raiz, você não precisa fazer nada específico para gerar a saída.

Expressão DataWeave:

Saída do DataWeave:

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

Para especificar seu formato de saída, você precisa iterar sobre os itens em sua matriz. Isso pode ser alcançado com o mapa função.

Cuidado, alguns campos contêm o símbolo de traço “-,”Significa que você não pode acessar os campos com a notação de ponto. Use a notação de matriz $[“field-name”].

Expressão DataWeave:

Saída do DataWeave:

Transformando atributos XML

A especificação XML permite que atributos sejam definidos para elementos, mas a especificação JSON não possui um equivalente direto. O DataWeave fornece um mecanismo que permite a leitura de atributos de um elemento XML usando o método @ símbolo seguido pela tecla

O script DataWeave abaixo extrai informações de atributo da amostra XML e as converte em JSON.

Expressão DataWeave:

Saída do DataWeave:

No artigo anterior, você viu como gerar XML a partir de JSON, agora você pode gerar JSON a partir de XML.

Se você quiser saber mais sobre o DataWeave 2.0, pode se registrar no curso DataWeave.


cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
Luiz Presso
Luiz Presso