Сохранить и загрузить данные из XML без использования XMLSerialization - PullRequest
1 голос
/ 26 октября 2011

Я знаю, что есть способ сохранить данные в XML-файле с классами и их свойствами, используя XML-сериализацию. Но есть ли способ сохранить данные без использования классов и XML-сериализации ???

Ответы [ 4 ]

3 голосов
/ 26 октября 2011

Абсолютно - я бы порекомендовал LINQ to XML.Например:

XDocument doc = new XDocument(
    new XElement("root",
        new XElement("child1", "text"),
        new XElement("child2",
            new XElement("grandchild"))));
doc.Save("test.xml");

Очевидно, что любой из этих литералов может быть получен из данных вашего объекта, а LINQ to XML позволяет легко создавать XML из последовательностей, запросов LINQ и т. Д.XML-файл:

<?xml version="1.0" encoding="utf-8"?>
<root>
  <child1>text</child1>
  <child2>
    <grandchild />
  </child2>
</root>

LINQ to XML - это прекрасный API - намного лучше, чем старый XmlDocument, IMO.

0 голосов
/ 26 октября 2011

Есть несколько способов сделать это.

  1. Создайте XMLDocument и напишите код для создания документа.
  2. Использовать LINQ to XML.
  3. Используйте класс, производный от XmlWriter, и напишите код для создания документа.
  4. Используйте созданный вручную DataSet и напишите код для его заполнения.
  5. Используйте строго типизированный DataSet, созданный с помощью конструктора в Visual Studio, и напишите код для его заполнения.

В зависимости от ваших потребностей, вы можете также рассмотреть возможность использования DataSet вместо классов.

0 голосов
/ 26 октября 2011

Безусловно, вы можете использовать Linq для Xml, чтобы создать xml, а затем сохранить его на диск. Проверьте это Начало работы руководство. В частности, посмотрите разделы «Создание XML-деревьев» и «Сериализация XML-деревьев».

0 голосов
/ 26 октября 2011

Сохранение и загрузка данных с XmlDocument Класс или использование Linq to XML

...