Ruby Nokogiri:用<;换行顶级文本元素;p>;标签
无法为其他标记尚未包含的“裸”文本节点构建XPath选择器。我想改变这一点:Ruby Nokogiri:用<;换行顶级文本元素;p>;标签,ruby,xpath,nokogiri,Ruby,Xpath,Nokogiri,无法为其他标记尚未包含的“裸”文本节点构建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> 一些裸体文本一些包
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(“”)
,但这似乎抓住了所有文本节点,而不仅仅是顶层节点。除了段落内的文本,您可以找到所有文本
'//text()[not(ancestor::p)]'
将选择作为根XML元素的子元素的所有文本元素(无论其名称如何)。Yes
/
将选择:“从当前节点中选择与所选内容匹配的节点,无论它们位于何处。”Try“/*/text()
用于根元素中的文本。这将包装foo
,例如,- 条
主体是我缺少的部分。我的文档是从没有任何容器的html文本片段构建的,但Nokogiri意外地为我创建了这些标记。谢谢。
doc.xpath('/html/body/text()').wrap('<p/>')
doc.xpath('/*/text()').wrap('<p/>')