我正在寻找一种将元素添加到我通过序列化 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();
}
这是一个好方法,有人能想到更好的方法吗?(我猜是的)..