0

我正在寻找一种将元素添加到我通过序列化 List of Customers 构建的 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; }
}

客户列表(创建 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();
}

我现在如何在 xml 文件中添加一个新的 Customer 元素而不必编写分配的 DOM 样式代码?

编辑 :

我找到了解决方法:

我让客户加入客户列表并将整个列表重新序列化为 xml 文档

public void AddCustomer(Customer customer)
{
    TextWriter textWriter = new StreamWriter(XMLRepository.CustomersPath);
    customers.Add(customer);
    serializer.Serialize(textWriter, customers);
    textWriter.Close();
}  

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

4

0 回答 0