Xpath:使用元素外部的文本从元素中提取值

时间:2013-08-19 19:20:03

标签: html xpath

我想提取下面输入元素的@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

2 个答案:

答案 0 :(得分:1)

您希望首先找到感兴趣的文本节点,而不是div。从那里,你可以尝试前往兄弟姐妹。

尝试:

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

答案 1 :(得分:1)

尝试

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