2

我想为下面的输入元素提取 @name 值。

<div style="style info">
<input type="checkbox" name="name1" onchange="doSomething;"/>
Mobile
<br/>
<input type="checkbox" name="name2" onchange="doSomething;"/>
Event
<br/>
</div>

在上面的示例中,我想提取与“Mobile”相关的名称(“name1”)。

我需要一个可以为我检索此信息的单行 xpath。我努力了

//div[normalize-space(text())='Mobile']/preceding-sibling::input/@name

//div[normalize-space(text())='Mobile']/input/@name

//div[normalize-space(.)='Mobile']/preceding-sibling::input/name

以及在这里梳理档案后的其他几个猜测,但我没有发现任何有效的东西(我对 XML 有点陌生,你肯定会说出来;对不起,如果我的猜测看起来很随意)。

提前感谢您的回答,如果有任何澄清或更正可以帮助解决此问题,请告诉我。非常感谢您的帮助!

注意:XSLT 不适合我

4

2 回答 2

1

您想首先定位感兴趣的文本节点,而不是 div。从那里,您可以按照您的尝试转到前一个兄弟姐妹。

尝试:

//text()[normalize-space() = "Mobile"]/preceding-sibling::input/@name
于 2013-08-19T19:42:38.550 回答
1

尝试

//div/input[normalize-space(following-sibling::text()[1])='Mobile']/@name
于 2013-08-19T19:43:32.373 回答