繁体   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