原始 XML:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Links>
<Category name="a" />
<Category name="b" />
</Links>
我想删除其属性=“b”的类别节点,并使用以下代码执行此操作
using (IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream myStream = new IsolatedStorageFileStream(App.FileName, FileMode.Open, FileAccess.ReadWrite, myStore))
{
XElement mainTree = XElement.Load(myStream);
mainTree.Elements("Category").Where(s => s.Attribute("name").Value == "b").DescendantsAndSelf().Remove();
myStream.Position = 0;
mainTree.Save(myStream);
}
}
代码运行后,生成的 XML 如下所示...
<?xml version="1.0" encoding="utf-8"?>
<Links>
<Category name="a" />
</Links>="a" />
<Category name="b" />
</Links>
如您所见,XML 是 toast 并且无法被 IsolatedStorageFileStream 阅读器读取,并且会出错。
您能告诉我在删除节点时以及将其写回时我做错了isolatedfilestorage
什么吗?