我最近将一个xml文件存储到了一个列表框中。现在我想写一些函数来添加或删除该列表框中的项目。尝试listbox.items.add或listbox.items.insert:
时出现以下错误使用ItemsControl.ItemsSource访问和修改元素。
我用谷歌搜索了它,并说它代之以“模型”,
但是我不知道该怎么做。那么如何在数据源中添加或删除项目?我不想将xml元素和值添加到原始文件中,然后将文件更新为数据源...
答案 0 :(得分:1)
如何将XML加载到数据集中,然后操纵数据集并重新绑定?
不要使用XML文件并将其绑定到列表框,请尝试:(source)
string myXMLfile = "C:\\MySchema.xml";
DataSet ds = new DataSet();
try
{
//reads file and loads data into dataset
ds.ReadXml(myXMLfile);
//set the listbox's datasource to the dataset
//note that if you have complex XML then you might need to set this to one of the datatables in the datset to get what you want
listBox1.DataSource = ds;
listBox1.DataBind();
}
catch (Exception ex)
{
//Handle error
}
让我们假设您的XML非常简单。要将拖拽添加到DataSet,您可以执行:(source)
//if customers is the name of your table (have not seen your XML)
DataRow newCustomersRow = ds.Tables["Customers"].NewRow();
newCustomersRow["CustomerID"] = "ALFKI";
newCustomersRow["CompanyName"] = "Alfreds Futterkiste";
dataSet1.Tables["Customers"].Rows.Add(newCustomersRow);
以下是一个适用于上述内容的XML示例:
<Data>
<Customers>
<Customer>
<CustomerID>123</CustomerID>
<CompanyName>Name</CompanyName>
</Customer>
</Customers>
</Data>
我没有编译或试图运行任何这些,但你应该得到一般的想法并使其适应你的代码。