【问题标题】:Serialize XML and append new elements to XML file序列化 XML 并将新元素附加到 XML 文件
【发布时间】:2011-10-05 22:28:16
【问题描述】:

我使用我的 XML Schema 中的 XSD2Code 创建了一个 XML 类。具有方法 SaveToFile 的类。因此,当我尝试添加新元素并将其保存到 XML 文件时,它会覆盖整个内容。

有谁知道如何通过序列化将元素(附加到 XML)插入到 XML 文件中。

例如:

<?xml version="1.0" encoding="utf-8"?>
<root>
  <element>content1</element>
</root>

如果这是我需要添加一个元素的 XML 文件,那么使用序列化的结果应该如下所示。

<?xml version="1.0" encoding="utf-8"?>
<root>
  <element>content1</element>
  <element>content2</element>
</root>

【问题讨论】:

  • 如果你序列化一些东西,它应该对你正在序列化的对象进行 XML 表示,所以在序列化时添加不在你的对象中的元素没有意义?
  • 您不能将新元素添加到您的根类元素中,然后将其保存到 xml 文件中吗?类似的东西:yourRootClassInstance.elementsArray.Add(new element());
  • 我的主要目的是使用从 Schema 生成的类向 XML 文件添加新值。我怎样才能做到这一点。类正在使用 List 作为集合对象。
  • 最好显示生成的类代码。在该类中应该是元素对象的列表。如果像我上面写的那样,您需要向该数组添加新元素

标签: c# xml serialization xsd append


【解决方案1】:

您的请求似乎可以通过将另一个项目添加到您的列表集合中来解决。

MyTypeFromXmlSchema myType = new MyTypeFromXmlSchema();
myType.MyElementItems = new List<MyElementItem>();
myType.MyElementItems.Add { new MyElementItem { value = "value1" } };
myType.MyElementItems.Add { new MyElementItem { value = "value2" } };

然后使用 XmlSerializer 序列化类型。

【讨论】:

    猜你喜欢
    • 2016-01-23
    • 2021-04-30
    • 2014-06-27
    • 2016-10-05
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    相关资源
    最近更新 更多