Deserialisierung von XML mit unbekannter Elementreihenfolge

Ich versuche, einen Client für einen Service mit einer wirklich mangelhaften Spezifikation zu implementieren. Es ist SOAP-ähnlich, obwohl es keine WSDL oder eine entsprechende Datei enthält. Die Spezifikation liefert auch keine Informationen zur korrekten Reihenfolge der Elemente - sie sind in der Spezifikation alphabetisch aufgelistet, aber der Service gibt einen XML-Analysefehler zurück, wenn sie in der Anforderung nicht in der richtigen Reihenfolge sind (die Reihenfolge wird abgeleitet von die Beispiele untersuchen).

Ich kannArbei mit diesem für die Übermittlung von Anfragen, auch wenn es ein Schmerz ist. Ich weiß jedoch nicht, wie ich mit Antworten richtig umgehen soll.

Mit beidenSoapEnvelope und direkt mitXmlSerializer, wenn die Antwort ein Element enthält, das ich noch nicht richtig bestellt habe, wird es als @ angezeinull auf meinem Objekt. Wieder kann ich damit arbeiten und die Klasseneigenschaften manuell anordnenmitOrder attributes, aber ich kann nicht sagen, ob das ursprüngliche XML ein Feld enthält, das ich nicht richtig bestellt habe und daher als @ belassen hanull.

Dies führt mich zu der aktuellen Frage:Wie kann ich überprüfen, ob der XmlSerializer ein Feld gelöscht hat??