如果你想添加多个“行”的数据,你可以做这样的:
// create XML element representing one "Item", containing a "Name" and an "Amount"
// and add it to the given parent element
private void AddItem(XElement parent, string itemName, int amount)
{
// create new XML element for item
XElement newItem = new XElement("Item");
// add the name
newItem.Add(XElement.Parse("<Name>" + itemName + "</Name>"));
// add the amount
newItem.Add(XElement.Parse("<Amount>" + amount + "</Amount>"));
// add to parent XML element given by caller
parent.Add(newItem);
}
private void button1_Click(object sender, RoutedEventArgs e)
{
// create new document (in your case you would do this only once,
// not on every button click)
XDocument doc = XDocument.Parse("<Items />");
// doc.Root is <Items /> - lets add some items
AddItem(doc.Root, "My item", 42);
AddItem(doc.Root, "Another item", 84);
// check if we succeeded (of course we did!)
Debug.WriteLine(doc.ToString());
}
AddItem
可以被称为多次,每次调用增加一个项目到您的<项目>元素。每次用户点击按钮时都会调用它。
你的XML的结构,那么看起来是这样的:
<Items>
<Item>
<Name>My item</Name>
<Amount>42</Amount>
</Item>
<Item>
<Name>Another item</Name>
<Amount>84</Amount>
</Item>
</Items>
编辑:
以及保存和加载XML /从独立存储:
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream("myfile.xml", System.IO.FileMode.Create, isf))
{
doc.Save(stream);
}
}
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream("myfile.xml", System.IO.FileMode.Open, isf))
{
doc = XDocument.Load(stream);
}
}
你好。谢谢您的回答。但是,据我所见,WP7没有XmlTextWriter,只有XmlWriter。 – AndreasB
我很抱歉,我在工作的中间回答了你,所以我希望和skkiped的wp7 :)生病的样子,试图让你的答案是正确的。 – Liran
嘿,似乎wp7有XmlWriter的对象,像我worte一样工作..试试看,并告诉我它是否有帮助。 你可以看看[this](http://www.windowsphonegeek.com/tips/All-about-WP7-Isolated-Storage---Read-and-Save-XML-files-using-XmlWriter) – Liran