私はXmlReader/XmlWriterを使用してXMLを書く簡単な方法を見つけようとしてきました。インターフェイス「IXmlSerializable」を使用するのはあまり好きではありませんが、一部のデータクラスを選択することはできません。
とにかく、私がやりたいことは非常に簡単です:
private MyClass myObject;
public void WriteXml(XmlWriter writer)
{
writer.WriteObject(myObject); // <-- this method doesn't exists
}
だから、私は2つの回避策を見つけました:
- オブジェクトを手動で作成するための独自のルーチンを作成します。.Netがすでにそれを行っているので、かなりばかげています。
- StringWriterを使用して新しいシリアライザーを作成し、WriteValue(string)メソッドを使用します。
2番目のテストはまだ行っていませんが、おそらく機能すると思います(ReadValueの結果のためにわかりません)。
それから私の質問は:私は何か重要なものを見逃しているのか、それともそれが唯一の方法なのか?それとも、それを処理するためのより良い方法はありますか?
ありがとう。