Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 序列化XML并将新元素附加到XML文件_C#_Xml_Serialization_Xsd_Append - Fatal编程技术网

C# 序列化XML并将新元素附加到XML文件

C# 序列化XML并将新元素附加到XML文件,c#,xml,serialization,xsd,append,C#,Xml,Serialization,Xsd,Append,我使用XML模式中的XSD2代码创建了一个XML类。具有方法SaveToFile的类。因此,当我尝试添加新元素并将其保存到XML文件时,它会覆盖整个内容 有人知道如何通过序列化将元素(附加到XML中)插入XML文件吗 <?xml version="1.0" encoding="utf-8"?> <root> <element>content1</element> <element>content2</element>

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

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

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


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

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

内容1
内容2

您的请求似乎可以通过向列表集合中添加另一项来解决

MyTypeFromXmlSchema myType = new MyTypeFromXmlSchema();
myType.MyElementItems = new List<MyElementItem>();
myType.MyElementItems.Add { new MyElementItem { value = "value1" } };
myType.MyElementItems.Add { new MyElementItem { value = "value2" } };
MyTypeFromXmlSchema myType=新的MyTypeFromXmlSchema();
myType.MylementItems=新列表();
myType.MyElementItems.Add{new MyElementItem{value=“value1”};
myType.MyElementItems.Add{new MyElementItem{value=“value2”};

然后使用XmlSerializer序列化类型。

如果序列化某个内容,它应该为要序列化的对象生成一个XML表示,因此在序列化时添加不在对象中的元素毫无意义?您不能将新元素添加到根类元素,然后将其保存到XML文件吗?类似于:
yourRootClassInstance.elementsArray.Add(新元素())我的主要目的是使用从模式生成的类向XML文件添加新值。我该怎么做呢。类正在使用集合对象的列表。最好显示生成的类代码。该类中应该包含元素对象列表。如果是这样,就像我在上面写的那样,您需要向该数组添加新元素