首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XPath:"InnerHtml“中的"Exclude”标签(<a href=“”>InnerHtml<Exclude</span></a>

XPath:"InnerHtml“中的"Exclude”标签(<a href=“”>InnerHtml<Exclude</span></a>
EN

Stack Overflow用户
提问于 2009-09-22 06:40:01
回答 1查看 2.2K关注 0票数 1

我正在使用XPath查询超文本标记语言站点,到目前为止,它工作得很好,但现在我遇到了困难,找不到解决方案:-)

html如下所示:

代码语言:javascript
复制
<ul>
<li><a href="">Text1<span>AnotherText1</span></a></li>
<li><a href="">Text2<span>AnotherText2</span></a></li>
<li><a href="">Text3<span>AnotherText3</span></a></li>
</ul>

我想选择"TextX“部分,但不是<span></span>中的AnotherTextX部分。到目前为止,我还没有想出任何(纯) XPath解决方案来做到这一点(不幸的是,在我的设置中,我需要一个纯XPath解决方案。

这选择了我想要的东西,但结果是"TextXAnotherTextX“,而我只需要"TextX”。

代码语言:javascript
复制
/ul/li/a

有什么提示吗?:-)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-09-22 09:49:52

这将获得<a>的第一个直接文本节点子节点

代码语言:javascript
复制
/ul/li/a/text()[1]

这将使您获得任何直接文本节点子节点(单独):

代码语言:javascript
复制
/ul/li/a/text()

以上两个都返回"TextX",但如果您有:

代码语言:javascript
复制
<li><a href="">Text4<span>AnotherText3</span>TrailingText</a></li>

然后,后者将返回:["Text4", "TrailingText"],而前者仅返回"Text4"

表达式/ul/li/a将获取<a>的字符串值,该值被定义为<a>的所有子元素的字符串值的串联,因此您将获得"TextXAnotherTextX"

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1458459

复制
相关文章

相似问题

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