我正在尝试从XHTML文档中提取内容 - 在本文档中,在div中,有许多“b”元素,每个元素后跟一个链接。
例如 -
<div id="main">
<b> Bold text 1</b>
<a href="http://link.com/"> some link 1</a>
<b> Bold text 2</b>
<a href="http://link.com/"> some link 2</a>
<b> ABRACADABRA</b>
<a href="http://link.com/"> abracadbralink</a>
</div>
现在,我想提取链接'abracadabralink' - 问题在于,我不知道在此特定链接之前有多少和元素存在 - 在不同的文档中有不同数量的此类元素 - 有时存在在一个元素之后紧接着很多链接 - 我所知道的是在我想要的链接之前发生的元素的文本总是固定的。
所以唯一固定的信息是我想要在具有已知文本的元素之后立即链接 - 如何使用XQuery获取此链接?
答案 0 :(得分:0)
如果我做对了,你对@href
属性的价值感兴趣吗?这可以使用标准XPath语法完成:
doc('yourdoc.xml')//*[. = ' abracadbralink']/@href/string()
有关XPath的更多信息,我建议您查看一些在线教程,例如http://www.w3schools.com/xpath/default.asp
答案 1 :(得分:0)
我想以下内容适合您:
$yournode/b[. = ' ABRACADABRA']/following-sibling::a/@href/string()