xpath相对路径不会带回任何值

时间:2014-12-19 14:52:31

标签: xpath svg

有一部分SVG文件

<g transform="translate(113.63-359.13)">
    <use fill="#f00" xlink:href="#D"/>
    <g transform="translate(72.59-8.504)">
        <use xlink:href="#E"/>
        <path fill="#f00" stroke="#000" stroke-linejoin="round" stroke-linecap="round" stroke-width=".24" d="m6.04 526.26h19.843v4.961h-19.843z"/>
        <use xlink:href="#F"/>
    </g>
    <text x="20.41" y="527.6" fill="#000" font-family="Arial" font-size="8">Out</text>
</g>

找到具有Text = Out的特定g节点,它可以使用

svg/g/text[text()="Out"]

但使用此相对路径

时我不会获得#f00
/svg/g/text[text()="Out"]./use/@fill

任何人都可以告诉我这是什么问题,以及我如何能够找到填充价值,以及#34; Out&#34; ?

仅供参考我试图编写一个XSL来更改svg文件中某些对象的颜色。如果您对该主题有任何其他内容,那就太棒了

由于

1 个答案:

答案 0 :(得分:2)

假设您的XML确实在当前svg元素上方有一个名为g的根元素,那么您正在寻找的表达式是....

/svg/g/text[text()="Out"]/../use/@fill

或者更好的是,这样做......

/svg/g[text/text()="Out"]/use/@fill