使用C#从xml文件编辑或删除节点

时间:2013-07-24 16:05:12

标签: c# xml listview xmlreader xmlwriter

编辑:here可以找到类似的问题w / answer

好的,所以我需要能够在GUI中编辑配置文件(除了配置文件名称之外的所有字段)或者选择要从我正在使用的xml文档中删除的配置文件(按名称)。

目前我有一个listView,它将XML文档中的所有项目保存为'profile'对象(由​​3个字符串组成,并将Collections元素分成3个bool值)我对如何删除项目有一个想法,我可以简单地删除一个从列表视图中,然后将剩余的项目写入xml,但我该怎么做,所以它不是添加到文件,而是覆盖其内容?

还有办法通过按名称搜索其配置文件并调整其子节点来编辑元素吗?让我知道是否有更有效的删除方法和编辑节点的孩子的最佳方法!

总结:

  1. 我该如何删除个人资料?
  2. 编辑节点子元素的最佳方法是什么?
  3. 要处理的XML文件示例:

    <?xml version="1.0" encoding="utf-8"?>
    <Profiles>
      <Profile Name="Tool3927">
        <ToolName>01.11.1221</ToolName>
        <SaveLocation>C:\Users\13\Desktop</SaveLocation>
        <Collections>False.True.False</Collections>
      </Profile>
      <Profile Name="MyTool">
        <ToolName>US.01.8280</ToolName>
        <SaveLocation>C:\Users\13\Desktop</SaveLocation>
        <Collections>True.True.True</Collections>
      </Profile>
      <Profile Name="TestProfile">
        <ToolName>11.11.1111</ToolName>
        <SaveLocation>C:\</SaveLocation>
        <Collections>True.False.False</Collections>
      </Profile>
      <Profile Name="a">
        <ToolName>za-za-zaza</ToolName>
        <SaveLocation>C:\Users\13\Desktop\tester</SaveLocation>
        <Collections>False.True.False</Collections>
      </Profile>
    </Profiles>
    

1 个答案:

答案 0 :(得分:2)

我会使用XPath来获取要删除的节点,然后查看this answer以获取要删除的代码。