[英]Find and Replace and attribute in XML file using libxml/xpath in C program
我有一個 xml 文件,它有不同的部分,我需要“重命名”這個巨大文件中出現的某些屬性(比如查找並替換為新名稱)。 我一直使用 libxml 和 xpath 來修改和滿足其他要求,但是對於這個,我不確定如何使用 libxml 和 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>
我知道 XPath 以及它有多復雜......但是,也許這個問題的解決方案只是一個簡單的字符串替換? 但也許有些場景我沒有想到你沒有在這里展示這不匹配。
但是如果你真的想通過 xpath
//*[@*='ORANGE']
選擇包含值為橙色的屬性的所有元素
//*[@*='ORANGE']/@*[string()='ORANGE']
只獲取屬性
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.