Frage

Hallo, ich arbeite mit Mule Studio und möchte einen benutzerdefinierten Transformer erstellen, der XML mithilfe der Google Gson-Bibliothek in Json konvertiert.In diesem Fall muss ich also eine Java Transformer-Komponente hinzufügen und dafür einen benutzerdefinierten Code schreiben.Aber das Problem, mit dem ich konfrontiert bin, ist, dass ich die Methode überschreibe, die Eingabeparameter als Objekt akzeptiert. Das ist meiner Meinung nach die einzige Möglichkeit, oder es gibt eine andere Möglichkeit, die Eingabeparameter als XML-String akzeptiert.Bitte teilen Sie einen Code mit, damit er funktioniert.

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

War es hilfreich?

Lösung

Schauen Sie sich einen vorhandenen Transformator an: https://github.com/mulesoft/mule/blob/mule-3.x/modules/xml/src/main/java/org/mule/module/xml/transformer/XmlPrettyPrinter.java

  • Sehen Sie, wie im Konstruktor die akzeptierten Quelltypen registriert werden, z. B. mit: registerSourceType(DataTypeFactory.create(org.dom4j.Document.class));
  • Sehen Sie, wie in der doTransform Methode das Generikum Object src ist umgerechnet.

Andere Tipps

Sie können entweder XML zum JSON-Transformator von der Maultierpalette an die Maultierströmungen verwenden.

generasacodicetagpre.

oder

Data Weave-Transformation verwenden:

generasacodicetagpre.

Einstellung des DataAweave-Ausgangs als Anwendung / JSON dauert automatisch.Wenn Sie jedoch JSON zu XML tun, müssen Sie jedoch möglicherweise sicherstellen, dass der JSON in XML-Formular mit Wurzelelement und Elementelementen innerhalb des Wurzelelements umgewandelt werden kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top