如何使用 xpath select 具有最长文本的节点?
How to select nodes with longest text with xpath?
我正在尝试通过以下方式查询具有最长文本的锚点:
//a[not(string-length(.) < ancestor::li//a/string-length(.))]
它似乎适用于 xpath 2.0 但不适用于 python lxml。
这个我不太确定。谁能帮忙详细解释一下?谢谢!
您的 XPath 2.0 表达式实际上找到了比同一 li
中任何其他 a
元素长的所有 a
元素;它不会 select 不在 li
.
内的任何 a
元素
更好的 XPath 2.0 解决方案可能是
for $m in max(//a/string-length()) return //a[string-length(.)=$m]
我不认为它可以在 XPath 1.0 中完成。
我正在尝试通过以下方式查询具有最长文本的锚点:
//a[not(string-length(.) < ancestor::li//a/string-length(.))]
它似乎适用于 xpath 2.0 但不适用于 python lxml。
这个我不太确定。谁能帮忙详细解释一下?谢谢!
您的 XPath 2.0 表达式实际上找到了比同一 li
中任何其他 a
元素长的所有 a
元素;它不会 select 不在 li
.
a
元素
更好的 XPath 2.0 解决方案可能是
for $m in max(//a/string-length()) return //a[string-length(.)=$m]
我不认为它可以在 XPath 1.0 中完成。