在不使用XMLSerialization的情况下从XML保存和加载数据

时间:2011-10-26 17:58:58

标签: c# xml c#-4.0 xml-serialization

我知道有一种方法可以使用XML Serialization将数据保存在带有类及其属性的xml文件中。但是有没有办法在不使用类和XML序列化的情况下保存数据?

4 个答案:

答案 0 :(得分:3)

绝对 - 我会推荐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可以很容易地从序列,LINQ查询等创建XML。

生成的test.xml文件:

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

LINQ to XML是一个可爱的 API - 比旧的XmlDocument IMO好得多。

答案 1 :(得分:0)

使用XmlDocument类保存并加载数据或使用Linq to XML

答案 2 :(得分:0)

当然,您可以利用Linq to Xml创建xml,然后将其保存到磁盘。查看此Getting Started指南。具体来说,看看“创建XML树”和“序列化XML树”部分。

答案 3 :(得分:0)

有很多不同的方法可以实现这一目标。

  1. 构造XMLDocument并编写代码以创建文档。
  2. 使用LINQ to XML。
  3. 使用从XmlWriter派生的类并编写代码来创建文档。
  4. 使用手动创建的DataSet并编写代码来填充它。
  5. 使用在Visual Studio中使用设计器创建的强类型DataSet,并编写代码来填充它。
  6. 根据您的需要,您也可以考虑直接使用DataSet代替类。