Найти и заменить и указать атрибут в файле XML с помощью libxml / xpath в программе C - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть xml файл с различными разделами, и мне нужно «переименовать» определенные атрибуты, появляющиеся в этом огромном файле (например, найти и заменить на новое имя). Повсюду я использовал lib xml и xpath для изменения и удовлетворения других требований, но для этого я не уверен, как это можно сделать с помощью lib xml и xpath API. Пожалуйста, помогите.

Например, в приведенном ниже файле мне нужно найти всю строку 'ORANGE' и заменить ее, скажем, строкой 'PURPLE'. Пожалуйста, помогите ..

<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>
    <your_section color="ORANGE" name="blah"> </your_section> 
    <another_section city="LONDON" blah="ORANGE"> </another_section>
    <any_section code="RED" age="ORANGE"> </any_section> 
</a>

1 Ответ

0 голосов
/ 20 апреля 2020

Я знаю XPath и насколько он может быть сложным ... но, может быть, решение этой проблемы - просто заменить строку? Но, возможно, есть сценарий ios, о котором я не думаю, что вы здесь не показываете, это не соответствует.

Но если вы действительно хотите сделать это через xpath

//*[@*='ORANGE']

Выбирает все элементы, которые содержат атрибут со значением оранжевый

//*[@*='ORANGE']/@*[string()='ORANGE']

Получает только атрибуты

...