Найти и удалить узел в XML, используя libxml2 и xpath - PullRequest
0 голосов
/ 19 апреля 2020

У меня есть большой XML файл с несколькими узлами, как показано ниже:

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

et c ..

Мне нужно найти конкретный тип c enum типа APPLE и удалить этот узел my_section для APPLE.

Я пытался использовать Xpath, но я не уверен, каким должен быть eval Строка здесь. Если я просто дам my_section, то все разделы придут. Мне нужно соответствовать по перечислению, хотя. Пожалуйста, помогите.

1 Ответ

0 голосов
/ 19 апреля 2020
<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, вы можете отфильтровать необходимые узлы. Я добавил элемент root только для проверки. При необходимости измените.

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