C# XmlSerializer在文件中的每个产品之后提供xml声明

C# XmlSerializer在文件中的每个产品之后提供xml声明,c#,C#,为列表中的每个对象标记提供此选项 foreach (var backupDeviceLocationData in _repositoryBackupDeviceLocation.GetAll()) { System.Xml.Serialization.XmlSerializer writer = new System.Xml.Serialization.XmlSerializer(typeof (BackupDeviceLocationData)); using (va

为列表中的每个对象标记提供此选项

foreach (var backupDeviceLocationData in _repositoryBackupDeviceLocation.GetAll())
{
    System.Xml.Serialization.XmlSerializer writer =
    new System.Xml.Serialization.XmlSerializer(typeof (BackupDeviceLocationData));
    using (var file = new System.IO.StreamWriter(@"C:\DBLog\SaveBackupDevice.xml", true))
    {
      writer.Serialize(file, backupDeviceLocationData);
    }
}

如何获得修复XmlSerializer dosen不在文件中的每个产品之后编写xml声明?

使用带命名空间参数的Serialize方法重载:

<?xml version="1.0" encoding="utf-8"?>

因为您要附加到文件。如果每次都是同一个文件,为什么using语句会在for循环中。我简化了大部分代码,删除了一些东西,使其变得简单。它并没有改变xml声明的问题。
var emptyNs = new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty });
writer.Serialize(file, backupDeviceLocationData, emptyNs);