XmlWriterで xml を書いています。私のコードには、次のようなセクションがたくさんあります。
xml.WriteStartElement("payload");
ThirdPartyLibrary.Serialise(results, xml);
xml.WriteEndElement(); // </payload>
問題は、このThirdPartyLibrary.Serialise
方法が信頼できないことです。(変数によってはresults
) 開いているすべてのタグが閉じられない場合があります。結果として、私の WriteEndElement 行は倒錯し、ライブラリのハンギング タグを閉じるのではなく、</payload>
.
したがって、要素名をチェックし、カーソルが予期される要素にない限り、例外をスローする WriteEndElement へのチェック呼び出しを行いたいと思います。
xml.WriteEndElement("payload");
XmlReader.ReadStartElement(name)
これは、カーソルがドキュメント内の予期される場所にない限りスローされると考えることができます。
どうすればこれを達成できますか?
編集: この拡張メソッドの 2 番目の使用例は、自分のコードをより読みやすく信頼できるものにすることです。