原始XML后也形成:XML不删除节点使用LINQ
<?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是烤面包和c注意由IsolatedStorageFileStream读取器读取并将错误读出。
你能否告诉我我在做什么错误时删除节点,还写回isolatedfilestorage
?
感谢您的快速回复家伙。问题在于节省内容。我用Create模式重新打开了流,并保存了更改后的MainTree,并且它工作正常。 – Sam