xpath从动态属性列表中删除属性

时间:2017-08-15 08:08:33

标签: xpath

我想通过xpath删除xml属性,但是 xml元素将来可能有更多的属性。

html code:
    <p class="red, blue, green">test/<p>

xpath: 
    <xpath expr="//p[contains(@class, 'green')]" position="attributes">
         <attribute name="class">red, blue</attribute>
    </xpath>

修复文字“红色,蓝色”的更好方法是什么?

为了支持可能的新版html文件,如 将来"<p class="red, blue, green, brown">test</p>",无需再次更改xpath代码。

例如实际属性列表为var + an x​​path函数

1 个答案:

答案 0 :(得分:2)

如何将@class设置为

concat(substring-before(@class, "green"), substring-after(@class, "green"))

你也需要解决被遗弃的逗号,但正如BjörnTantau评论的那样,在真正的HTML中,类将用空格分隔,因此你可以将结果包装到normalize-space