Es gibt Vorteile und Nachteile verbunden mit individuellem Stil, Werkzeug (die Standardkonfiguration, Einschränkungen oder Benutzerfreundlichkeit), müssen mehrere MIME-Typen von einer einzigen Objektdarstellung unterstützen, etc. Ich werde gehen nicht in alle davon - was für manche vielleicht keine gute Lösung für andere ist - aber ich möchte nur auf ein paar Dinge hinweisen ...
Welcher scheint natürlicher, die flachen Elemente oder die umhüllten Elemente? Wie denken die Menschen über wiederholte Elemente? Zum Beispiel sind <manufature>
, <price>
und <description>
in einem <car>
Element verpackt. Warum? Weil sie verwandt sind und zusammen eine Struktur bilden. Mehrere <car>
s sind auch verwandt und bilden auch eine Struktur: eine Liste von <car>
s. Es ist in Ihrer Darstellung und im XML-Schema ausdrucksstärker und besser lesbar. Aber natürlich jetzt gehen wir in persönliche Vorlieben und ganz Kriege ...
Es ist ein weiterer Vorteil des umhüllten Elements. Wie äußern Sie eine Liste von Autos, die leer ist gegen eine Liste von Autos, die null ist?
Wenn die Elemente flach sind, und Sie haben keine Autos dann, was das darstellt, wenn Sie es in ein Objekt entordnen?
<carRequest>
</carRequest>
Hat Ihre Anfrage haben cars = null
oder cars = []
? Du weißt es nicht.
Wenn Sie mit verschachtelten Elementen gehen dann cars = null
ist dies:
<carRequest>
</carRequest>
während cars = []
ist dies:
<carRequest>
<cars>
</cars>
</carRequest>
Und da Sie SOAP erwähnt, Sie an einem gewissen Punkt müssen möglicherweise die Interoperabilität zwischen berücksichtigen Technologien und Werkzeuge (siehe Why is it important to be WS-I Basic Profile compliant?), die Regeln, wie der XML wie in der SOAP-Nachricht aussehen sollte. The style called document/literal wrapped pattern is preferred.
Dies ist ein weites Feld und als TL; DR kann ich denke nur an "choose your poison". Ich hoffe, meine Antwort hilft Ihnen.
Da ich auch ein 'soap' webservice neben dem' xml' Webservice erstellen, denke ich, die WS-I compiance der Punkt ist, ich einen über den anderen Muster begünstigen könnte. – membersound