C# 将元素添加到预定义的xml文档中

C# 将元素添加到预定义的xml文档中,c#,xml,C#,Xml,我正在寻找一种方法,通过序列化列表将元素添加到我构建的xml文档中 顾客的数量 客户: public class Customer { [XmlElement("CustomerId")] public Guid CustomerId { get; set; } [XmlElement("FirstName")] public string FirstName { get; set; } [XmlElement("LastName")] pub

我正在寻找一种方法,通过序列化列表将元素添加到我构建的xml文档中 顾客的数量

客户:

public class Customer
{
    [XmlElement("CustomerId")]
    public Guid CustomerId { get; set; }

    [XmlElement("FirstName")]
    public string FirstName { get; set; }

    [XmlElement("LastName")]
    public string LastName { get; set; }

    [XmlElement("DOB")]
    public DateTime DOB { get; set; }
}
private void CreateXml(string path)
{
        File.Create(path).Close();
        List<Customer> customers = new List<Customer>();
        XmlSerializer serializer = new XmlSerializer(typeof(List<Customer>));
        TextWriter textWriter = new StreamWriter(path);
        serializer.Serialize(textWriter, customers);
        textWriter.Close();
}
客户列表(创建xml时为空)

private void CreateXml(string path)
{
        File.Create(path).Close();
        List<Customer> customers = new List<Customer>();
        XmlSerializer serializer = new XmlSerializer(typeof(List<Customer>));
        TextWriter textWriter = new StreamWriter(path);
        serializer.Serialize(textWriter, customers);
        textWriter.Close();
}

这是一个好方法吗?有人能想出更好的方法吗?(我猜是的)

在这种情况下,我将采用序列化/反序列化的方法
XmlSerializer
速度很慢,我个人不会将其用作数据存储。@JimSchubert你是说你不会将xml文档用作数据存储吗?或者仅仅是xmlserializer?我是说我不会将XML作为数据库的替代品进行大量处理。例如,如果调用
AddCustomer
200次,那么每次调用都会造成大量的文件IO和XML序列化性能损失。如果使用SQLite3或SQLServerCompact,性能很可能会更好。或者,您可以反序列化列表,在内存中添加客户,然后重新序列化。但在这里,您很可能会遇到由数据库处理的并发性问题。这是一个更好的主意,谢谢,最后我将序列化它。