gpt4 book ai didi

c# - 使用 XPath 选择包含文本的所有节点

转载 作者:行者123 更新时间:2023-11-30 15:00:23 25 4
gpt4 key购买 nike

过去几天我一直在努力解决这个问题。比如说,我想从一个 HTML 文档中获取所有的 text(),但是我只想知道并检索包含文本数据的节点的 XPath。示例:

 foreach (var textNode in node.SelectNodes(".//text()")) 
//do stuff here

但是,在使用 textNode.XPath 检索 textNode 的 XPath 时,我得到了包括 #text 节点的完整 XPath:

/html[1]/body[1]/div[1]/a[1]/#text

但我只想要文本的包含节点,例如:

/html[1]/body[1]/div[1]/a[1]

谁能给我指出一个更好的 XPath 解决方案来检索包含文本的所有节点,但只检索包含节点之前的 XPath?

最佳答案

代替:

.//text() 

使用:

.//*[normalize-space(text())]

这将选择上下文(当前)节点的所有“叶元素”后代,这些节点至少有一个非空白文本节点子节点。

关于c# - 使用 XPath 选择包含文本的所有节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15511992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com