So überprüfen Sie den Namen eines Elements mit WriteEndElement
Ich schreibe XML mitXmlWriter. Mein Code enthält viele Abschnitte wie diesen:
xml.WriteStartElement("payload");
ThirdPartyLibrary.Serialise(results, xml);
xml.WriteEndElement(); // </payload>
Das Problem ist, dass dieThirdPartyLibrary.Serialise
Methode ist unzuverlässig. Dies kann passieren (abhängig von der Variablen)results
), dass es nicht alle Tags schließt, die es öffnet. Infolgedessen ist meine WriteEndElement-Zeile pervers und es wird nicht mehr geschrieben, sondern es werden die hängenden Tags der Bibliothek geschlossen</payload>
.
Daher möchte ich WriteEndElement mit einem Häkchen aufrufen, das den Elementnamen überprüft und eine Ausnahme auslöst, sofern sich der Cursor nicht auf dem erwarteten Element befindet.
xml.WriteEndElement("payload");
Sie können sich das so vorstellenXmlReader.ReadStartElement(name)
Wird ausgelöst, wenn sich der Cursor nicht an der erwarteten Stelle im Dokument befindet.
Wie kann ich das erreichen?
Bearbeiten: Ein zweiter Anwendungsfall für diese Erweiterungsmethode wäre, meinen eigenen Code lesbarer und zuverlässiger zu machen.