使用 libxml2 和 xpath 在 XML 中查找并删除节点

Find and Delete a Node in XML, using libxml2 and xpath

我有一个很大的 XML 文件,其中有多个节点,如下所示;

<my_section enum="ORANGE" name="blah"> </my_section> <my_section enum="APPLE" name="blah blah"> </my_section>

等等

我需要查找特定的 'enum' 类型,例如 APPLE,并删除 APPLE 的 my_section 节点。

我试过使用 Xpath,但我不确定这里的 eval 字符串应该是什么。如果我就给my_section,那么所有的版块都会来。不过我需要匹配枚举。请帮忙。

<a>
    <my_section enum="ORANGE" name="blah"> </my_section> 
    <my_section enum="APPLE" name="blah blah"> </my_section>
    <my_section enum="ORANGE1" name="blah1"> </my_section> 
</a>

使用 XPATH,您可以过滤出所需的节点。我添加了一个根元素只是为了测试。根据需要更改。

/a/my_section except /a/my_section[@enum = "APPLE"]