Domanda

Ciao Sto lavorando con Mule Studio e voglio creare un trasformatore personalizzato che convertirà XML in JSON usando Google GSL Library.Quindi, in questo caso, devo aggiungere un componente del trasformatore Java e devo scrivere un codice personalizzato per quello.Ma il problema che sto affrontando è che sto prendendo il sopravvento il metodo che accetta il parametro di input come oggetto che è l'unico modo in cui penso o è il loro altro modo che accetterà il parametro di input come una stringa XML.Si prega di condividere un codice per renderlo praticabile.

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

È stato utile?

Soluzione

Dai un'occhiata a un trasformatore esistente: https://github.com/mulesoft/mule/blob/mule-3.x/modules/xml/src/main/java/org/Mule/Modulo / xml / trasformatore / xmlprettyprinter.java

    .
  • Vedi Come nel costruttore I tipi di origine accettati sono registrati, come con: registerSourceType(DataTypeFactory.create(org.dom4j.Document.class));
  • Vedere come nel metodo doTransform il Generico Object src viene convertito.

Altri suggerimenti

È possibile utilizzare XML al trasformatore JSON dalla tavolozza del mulo ai flussi della mulo.

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

o

Utilizzare la trasformazione del dataweave:

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

Impostazione dell'output di DataWeave come applicazione / JSON viene automaticamente.Tuttavia, quando si esegue JSON a XML potrebbe essere necessario assicurarsi che il JSON possa essere convertito in forma XML con elemento root e elementi membri all'interno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top