使用 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"]
我有一个很大的 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"]