gpt4 book ai didi

ruby - Nokogiri:用

标签包裹顶级文本元素

转载 作者:数据小太阳 更新时间:2023-10-29 08:49:31 24 4
gpt4 key购买 nike

在为尚未包含在另一个标签中的“裸”文本节点构建 XPath 选择器时遇到问题。我想改变这个:

some naked text <p>some wrapped text</p> more naked text

进入这个:

<p>some naked text</p> <p>some wrapped text</p> <p>more naked text</p>

我尝试使用 doc.xpath("//child::text()").wrap('<p></p>')但这似乎捕获了所有文本节点,而不仅仅是顶级节点。

最佳答案

doc.xpath('/html/body/text()').wrap('<p/>')

当您使用 // 时您正在选择 descendant-or-self轴,即文档中的任何位置。相反,您想使用 /和(默认 child 轴)仅匹配作为特定元素的直接子元素的文本节点。

如果这不是带有 <html> 的 HTML 文档和 <body>元素,然后简单地:

doc.xpath('/*/text()').wrap('<p/>')

将选择作为根 XML 元素(无论其名称如何)的子元素的所有文本元素。

关于ruby - Nokogiri:用 <p> 标签包裹顶级文本元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16899143/

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