Я пытаюсь найти простой способ записи XML с помощью XmlReader/XmlWriter. Мне не очень нравится использовать интерфейс «IXmlSerializable», но у меня нет выбора для некоторых из моих dataclass.Как читать/писать сложный объект с помощью XmlWriter/XmlReader
Во всяком случае, то, что я хочу сделать, это довольно просто:
private MyClass myObject;
public void WriteXml(XmlWriter writer)
{
writer.WriteObject(myObject); // <-- this method doesn't exists
}
Итак, я нашел 2 работы вокруг:
- Напишите свою собственную процедуру, чтобы написать свой объект вручную. Довольно смешно, так как .Net уже делает это.
- Создайте новый сериализатор с помощью StringWriter и используйте метод WriteValue (string).
Я еще не тестировал второе, но думаю, что он, вероятно, будет работать (не уверен из-за результата ReadValue).
Тогда мой вопрос: я пропустил что-то важное или это единственный способ? Или есть лучший способ справиться с этим?
Спасибо.
Вы видели LINQ to XML? Это немного или работает, но работает. – Pieter
Да, я знаю эту идею, но никогда не использовал ее. Но здесь моя проблема заключается в том, что у моего сложного объекта есть много вспомогательных объектов, и каждый из них определяет XmlAttributes. Поэтому мне нужно прочитать эти атрибуты. Я просто не хочу писать слепые элементы. – Sauleil