我有一个包含大约450个项目的XML文档。
<Customers>
<Customer>
<Name>XYZ</Name
<Phone>1234567890</Phone>
</Customer>
<Customer>
<Name>ABC</Name>
<Phone>9012345678</Phone>
</Customer>
</Customers>
我需要将此文档绑定到WPF中的表单。那部分我已经想通了。我将名称绑定到ComboBox,并将电话(和其他字段)绑定到文本块,以便显示组合框中选择的任何客户的信息。这是在XAML中完成的。
但我需要添加的是能够从现有列表中添加/更新/删除客户,并在XML文件中添加/更新/删除客户。我在想的是我不能仅仅在XAML中执行此操作,并且需要以某种方式将XML读入具有Customer类的List,其中所有属性都与XML文档中的字段匹配。那是对的吗?如果是这样,最简单的方法是什么?现在我正在阅读LINQ to XML,试图弄清楚如何做到这一点,但在我去那里之前,我想知道这是否是最简单的方法。
我目前正在开展的项目是工作,开发只是我偶尔会做的事情,但知道如何做到这一点对于Windows Phone应用程序的想法来更新我的应用程序是很方便的。< / p>
提前致谢!
答案 0 :(得分:0)
启动Visual Studio命令行并使用xsd.exe工具创建实现INotifyPropertyChanged
的强类型DataSet。
以下是一个示例命令:
xsd.exe /d /l:cs ..\MYXml.xsd /edb /o:..\Data\ /n:MyApp.Data
INotifyPropertyChanged
。您可以轻松地从xml文件加载和保存生成的DataSet。
public MyDataSet Load(string path)
{
MYXml ds = new MYXml();
ds.ReadXml(path);
return ds;
}
public void SaveChanges(MYXml ds, string path )
{
// ds.AcceptChanges();
ds.WriteXml(path);
}