Ich denke, ein AggregationStrategy
könnte helfen:
1) Fügen Sie Ihrer Route die aggregationStrategy hinzu:
%Vor% 2) Erstellen Sie anschließend die Klasse, die den Nachrichtentext erhält, und transformieren Sie sie wie gewünscht und setzen Sie den Textkörper wieder auf Exchange.
OBS: Hier müssen Sie eine xml
API verwenden, um die Attribute hinzuzufügen, die Sie hinzufügen möchten.
Weitere hier .
Gibt es etwas, das Sie daran hindert, eine XSLT-Komponente zu verwenden? Sie können dies anwenden, um die Eingabe-XML in ein Format zu bringen, das direkt dem gewünschten Ausgabe-JSON-Format entspricht, und es dann an xmljson, z. - (muss etwas sauber gemacht werden, um einige leere Elemente zu vermeiden)
%Vor%Verwenden Sie die Jackson-Bibliothek. Sie können das Ausgabeformat programmgesteuert ändern. Unmarshal eignet sich nur zum direkten Mapping und nicht zur Bereicherung. Im Wesentlichen Unmarshal to XML, fügen Sie einen Prozessor hinzu und erstellen Sie dann das Ausgabe-Json-Format.
Tags und Links xml xml-parsing json apache-camel