gpt4 book ai didi

javascript - 用于选择所有文本节点的 XPath

转载 作者:数据小太阳 更新时间:2023-10-29 02:03:33 27 4
gpt4 key购买 nike

我正在编写一个 JavaScript 函数,可用于将文本替换为 HTML 代码,但为此我需要能够访问文本节点形式的文本。以下 XPath 选择文档中的所有 div 标记:

//div

以下 XPath 选择属性 class 赋值 myclass 的所有元素:

//*[@class="myclass"]

以下选择出现在 ID 为 comments 的元素下方任何级别的所有文本(不是文本节点):

//*[@id="comments"]//text()

什么是可用于选择任何元素下的所有文本节点的 XPath?因此,假设我想替换字符串 Hebert 的所有非注释出现,并且我需要所有文本节点,以便我可以扫描它们以查找该字符串。它会在查询中使用 text() 吗?

最佳答案

两种选择:

  • 选择字符串值包含子字符串的所有文本节点“赫伯特”:

    //text()[contains(.,'Herbert')]
  • 选择字符串值为“Herbert”的所有文本节点:

    //text()[.='Herbert']

注意你的评论,

The following selects all of the text (not text nodes)

关于 XPath,//text() 是不正确的。节点测试text()选择文本节点。在字符串上下文中,它将返回 string-value文本节点,但 text() 本身肯定会选择实际的文本节点。

另见 Testing text() nodes vs string values in XPath

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

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