[英]C# Delete Item from XML List
我写了一些UWP应用。 我想在那里保存/更新/删除XML列表。 我的XML列表如下所示:
<?xml version="1.0" encoding="utf-8"?>
<rootnode>
<Kunde Name="Testkunde" />
<Kunde Name="Testkunde2" />
</rootnode>
如果我想用此代码删除项目
StorageFolder folder = await StorageFolder.GetFolderFromPathAsync(@"C:\Users\IT\source\repos\App3\App3");
StorageFile file = await folder.GetFileAsync("Kundenliste.xml");
using (IRandomAccessStream writeStream = await file.OpenAsync(FileAccessMode.ReadWrite))
{
Stream s = writeStream.AsStreamForWrite();
XDocument doc = XDocument.Load(s);
var q = from node in doc.Descendants("Kunde")
let attr = node.Attribute("Name")
where attr != null && attr.Value == "Testkunde"
select node;
q.ToList().ForEach(x => x.Remove());
doc.Save(s);
}
有时候是这样的
<?xml version="1.0" encoding="utf-8"?>
<rootnode>
<Kunde Name="Testkunde" />
<Kunde Name="Testkunde2" />
</rootnode><?xml version="1.0" encoding="utf-8"?>
<rootnode>
<Kunde Name="Testkunde2" />
</rootnode>
有人可以帮助我吗?
刚设定
s.Position = 0;
s.SetLength(0);
后
Stream s = writeStream.AsStreamForWrite();
XDocument doc = XDocument.Load(s);
它会起作用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.