有一部分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文件中某些对象的颜色。如果您对该主题有任何其他内容,那就太棒了
由于
答案 0 :(得分:2)
假设您的XML确实在当前svg
元素上方有一个名为g
的根元素,那么您正在寻找的表达式是....
/svg/g/text[text()="Out"]/../use/@fill
或者更好的是,这样做......
/svg/g[text/text()="Out"]/use/@fill