簡體   English   中英

在 C 程序中使用 libxml/xpath 在 XML 文件中查找和替換和屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM