C# 不使用XMLSerialization从XML保存和加载数据

C# 不使用XMLSerialization从XML保存和加载数据,c#,xml,c#-4.0,xml-serialization,C#,Xml,C# 4.0,Xml Serialization,我知道有一种方法可以使用xml序列化将数据保存在带有类及其属性的xml文件中。但是有没有方法可以不使用类和xml序列化来保存数据???使用类或使用 绝对-我建议使用LINQ替代XML。例如: XDocument doc = new XDocument( new XElement("root", new XElement("child1", "text"), new XElement("child2", new XElement(

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

使用类或使用


绝对-我建议使用LINQ替代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>

文本

是一个可爱的API—比旧的
XmlDocument
one要好得多,我认为。

当然,您可以利用Linq to Xml创建Xml,然后将其保存到磁盘。看看这本指南。具体来说,请看一下“创建XML树”和“序列化XML树”部分。

有很多不同的方法可以实现这一点

  • 构造一个XMLDocument并编写代码来创建文档
  • 使用LINQ转换XML
  • 使用从XmlWriter派生的类并编写代码来创建文档
  • 使用手动创建的数据集并编写代码来填充它
  • 使用在VisualStudio中由设计器创建的强类型数据集,并编写代码来填充它

  • 根据您的需要,您也可以考虑直接使用数据集来代替类。

    谢谢,但是我如何在其中写入数据,如何设置元素的属性?@ AHMADALISHAFIEE:使用<代码> XAtt/<代码>创建XML属性,并在这里显示(例如)“text”以指定元素文本内容,您可以使用一个变量来实现这一点。您应该通过阅读我的答案中链接的页面,从零开始学习LINQ到XML。这将比我们仅仅给出具体的例子更有效。