如何用XPath 1.0同时选取锚标签的href属性与文本内容?
如何用XPath 1.0同时选取锚标签的href属性和文本内容?
当然可以啦!在XPath 1.0里,有几种实用的方法能实现这个需求,我给你详细说说:
方式一:直接合并节点集
利用XPath的|运算符(节点集并集),可以把目标href属性节点和文本节点合并到同一个结果集合中。对应的表达式如下://a[contains(@class, 'storylink')]/@href | //a[contains(@class, 'storylink')]/text()这个表达式会返回所有符合条件的
<a>标签的href属性,以及它们的文本内容。不过要注意,结果里的属性节点和文本节点是分开的,没有直接的关联关系。方式二:选中父节点再分别提取
如果需要让每个<a>标签的href和对应文本一一对应(方便后续关联处理),更推荐先选中整个<a>节点,之后再针对每个节点单独提取属性和文本。表达式如下://a[contains(@class, 'storylink')]拿到这些
<a>节点后,你可以对每个节点分别获取@href(链接属性)和text()(文本内容),这样就能确保每个链接和它对应的文本是绑定在一起的,不会出现混乱。
内容的提问来源于stack exchange,提问作者Shanthakumar
相关产品推荐
相关产品推荐

