我是新来使用XPath,所以我一直在愚弄XPath Evaluator,我试图找出如何返回函数的值。如何使用XPath返回函数的结果?
如果我想返回一个页面,我可以使用下面的XPath的href
S中所有环节的:如果我想与href
小号超过20个字符返回的所有环节
//a/@href
我可以使用此:
//a[string-length(@href) > 20]
我无法弄清楚什么是我该如何得到所有href
S的只是长度? 我天真的假设是,这应该这样做:
//a/string-length(@href)
但它失败(如做所有我能想到的变化)。
这怎么办?
在比特挖经过进一步我看到XPath计算器我使用硬编码XPathResult.ORDERED_NODE_SNAPSHOT_TYPE
作为结果类型,当我改成ANY_TYPE
(0)以下工作用于获取一条链路的长度(这是我实际需要的)
string-length((//a)[1]/@href)
我尝试了您的第一个建议(作为*我可以想到的所有变体的一部分*),并且它不起作用。 – Motti 2009-09-03 12:57:20
根据其他答案,我认为它不会。抱歉。我不确定把查询之外的函数放在你的许多变体之中,所以我认为它可能是那些“哦,哦”类的东西之一。出于好奇,你最终使用XPath哪种语言? PHP应该很容易使用simplexml扩展来实现一个循环函数。 – Anthony 2009-09-03 13:19:12