Das Problem
Ein Xsd Schema benötig immer einen Root Knoten. Bei einer Ausgabe als XML ist eine Root Knoten daher notwendig, damit das XML Wohlgeformt ist (siehe Beispiel XML).
Beispiel XML:
<MainOrder> <Order> <ID>4711</ID> <Company>MyCompany</Company> <OrderData>01.04.2018</OrderData> </Order> </MainOrder>
Hier als Beispiel ein Wohlgeformtes XML mit dem Root Element „MainOrder“.
Nun soll eine Json Pipeline das XML als Json formatiert ausgeben.
Beispiel Ausgabe als Json (Standardausgabe der Json Pipeline):
{ "MainOrder": { "Order": { "ID": "4711", "Company": "MyCompany", "OrderData": "01.04.2018" } } }
Hier mag jetzt das Root Element „MainOrder“ stören. Wie bekomme ich den „Root“ Name „MainOrder“ weg?Die Ausgabe soll wie folgt sein:
{ "Order": { "ID": "4711", "Company": "MyCompany", "OrderData": "01.04.2018" } }
Die Lösung
Hierzu einfach die Default Einstellung der Json Pipeline anpassen.
Nachdem man die Standardeinstellung für „RemoveOuterEnvelope“ von „False“ auf „True“ geändert hat wird das Root Element gelöscht.
„RemoveOuterEnvelope“ = „False“ { "MainOrder": { "Order": { "ID": "4711", "Company": "MyCompany", "OrderData": "01.04.2018" } } }
„RemoveOuterEnvelope“ = „True“
{ "Order": { "ID": "4711", "Company": "MyCompany", "OrderData": "01.04.2018" } }
Fertig!