xml – 具有后代和后代text()谓词的XPath查询
发布时间:2020-12-16 07:56:20 所属栏目:百科 来源:网络整理
导读:我想构造一个XPath查询,它将返回一个“div”或“table”元素,只要它有一个包含文本“abc”的后代.一个警告是它不能有任何div或table的后代. div table form div span pabcdefg/p /span /div table span p123456/p /span /table /form /table/div 所以这个查
我想构造一个XPath查询,它将返回一个“div”或“table”元素,只要它有一个包含文本“abc”的后代.一个警告是它不能有任何div或table的后代.
<div> <table> <form> <div> <span> <p>abcdefg</p> </span> </div> <table> <span> <p>123456</p> </span> </table> </form> </table> </div> 所以这个查询的唯一正确的结果是: /div/table/form/div 我最好的尝试看起来像这样: //div[contains(//text(),"abc") and not(descendant::div or descendant::table)] | //table[contains(//text(),"abc") and not(descendant::div or descendant::table)] 但不会返回正确的结果. 谢谢你的帮助.
有些不同: :)
//text()[contains(.,'abc')]/ancestor::*[self::div or self::table][1] 似乎比其他解决方案短得多,不是吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |