首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅当<li> string-length()大于20个字符时,才能在<ul>祖先中获取子<a> @href属性

仅当<li> string-length()大于20个字符时,才能在<ul>祖先中获取子<a> @href属性
EN

Stack Overflow用户
提问于 2021-05-27 17:06:46
回答 1查看 27关注 0票数 0

在Google Sheets中使用=IMPORTXML(),我想使用XPath从<ul><li>中的<a>中提取@href属性,前提是<li> string-length()超过20个字符。

示例:

代码语言:javascript
复制
<html>

<head>...</head>

<body>
  ...
  <ul>
    <li>123456<a href="google.com">78</a>90123456789</li>
    <!-- 19 chars !-->
    <li>123456789<a href="bing.com">0123</a>45</li>
    <!-- 15 chars !-->
    <li>12345<a href="yahoo.com">6789012</a>345678901234567890</li> <!-- 30 chars !-->
  </ul>
  ...
</body>

</html>

在这里,我希望只接收yahoo.com,因为包含的<li>是列表中唯一超过20个字符的one。

我没有找到适合我的XPath语法。有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-27 17:27:04

返回所有li元素的href属性,所有li元素都是ul元素的直接子元素,且li节点字符串长度大于20:

代码语言:javascript
复制
//ul/li[string-length(.)>20]/a/@href

它为您的示例选择:

代码语言:javascript
复制
href="yahoo.com"

如果您只需要该字符串:

代码语言:javascript
复制
//ul/li[string-length(.)>20]/a/@href/string()

它会选择:

代码语言:javascript
复制
yahoo.com
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67719062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档