c# - 使用索引选择 XML 元素

标签 c# xml winforms linq-to-xml

我有以下格式的 XML 文件;

<root>

<entry>
<details>
</entry>

<entry>
<details>
</entry>
...
</root>

我没有任何属性,我在允许复制和删除项目的 ListBox 控件中显示详细信息字段。

因此,如果用户删除列表框中的第二个条目,则需要完全删除 xml 文件中的第二个条目。

有办法吗?

目前,我正在使用 Linq-to-XML 编写数据。

编辑:我忘了提及 ListBox 的选择模式 - 它是 MultiExtended。

最佳答案

这是加载、删除索引条目然后保存文件的简单代码。

XElement root = XElement.Load(file);
root.Elements("entry").ElementAt(index).Remove();
root.Save(file);

匹配多个:

int[] match = new int[] { 1, 10, 25, 33 };
var matches = root.Elements("entry").Where((x, i) => match.Contains(i));
foreach (var e in matches.ToList()) e.Remove();

关于c# - 使用索引选择 XML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10801891/

相关文章:

c# - .net core Web应用程序并从azure事件中心读取数据

xml - 无法为 ActiveMQ 设置 broker-bean

xml - 无效的 XML 文件?

c# - C#-mscorlib.dll中未处理的异常

继承抽象类并实现接口(interface)的 C# 窗体。

c# - 两个并排且可拉伸(stretch)的列表框

c# - 从 C# 中引用的 DLL 获取执行程序集名称

c# - 在单个 LINQ 表达式中转换 if

c# - 如何在 ASP.NET MVC 中使用 javascript 编写 Action 链接?

python - Odoo 如何允许多组用户访问按钮?