Pergunta

Oi eu estou trabalhando com Mula Studio e eu quero criar um Personalizado Transformador que irá converter o XML para Json usando o Google Gson Biblioteca.Então, nesse caso, eu tenho que adicionar um Java Transformador de componente e tenho que escrever um código personalizado para isso.Mas o problema que estou enfrentando é que eu estou substituindo o método que aceita o parâmetro de Entrada como Objeto é a única maneira que eu penso ou é seu de qualquer outra forma que venha a aceitar Parâmetro de Entrada como uma Cadeia de caracteres XMl.Por favor, compartilhe um código para torná-lo viável.

public class Transfomer extends AbstractTransformer { protected Object doTransform(Object src, String enc) throws TransformerException { // TODO Auto-generated method stub
return null; } }

Foi útil?

Solução

Dê uma olhada em um transformador existente: https://github.com/mulesoft/mule/blob/mule-3.x/modules/xml/src/main/java/org/mule/module/xml/transformer/XmlPrettyPrinter.java

  • Veja como no construtor aceito tipos de fonte são registrados, como: registerSourceType(DataTypeFactory.create(org.dom4j.Document.class));
  • Veja como no doTransform método genérico Object src é convertido.

Outras dicas

Você pode usar XML para JSON transformador da Mula paleta a Mula fluxos.

 <json:xml-to-json-transformer doc:name="XML to JSON"/>

OU

Use DataWeave Transformação:

 <dw:transform-message doc:name="Transform Message">
             <dw:set-payload><![CDATA[%dw 1.0
 %output application/json
 ---
 payload]]></dw:set-payload>
         </dw:transform-message>

Definir saída de dataweave como aplicativo / json faz o automaticamente.No entanto, quando você faz JSON para XML, você pode ter que garantir que o JSON possa ser convertido em formulário XML com elemento raiz e elementos de membro dentro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top