在Nokogiri中搜索文本节点



我在文档片段上搜索文本节点。这是有效的,如下片段所示:

doc = Nokogiri::HTML::DocumentFragment.parse("<p>foo</p>") 
doc.xpath('.//text()')
=> [#<Nokogiri::XML::Text:0x3fe56c8c02a8 "foo">]

但是,我的根节点可能没有像<p>那样的标签,它可以是像"foo"那样的简单字符串。然后此查询失败。

doc = Nokogiri::HTML::DocumentFragment.parse("foo") 
doc.xpath('.//text()')
=> []

将查询更改为doc.xpath('text()')解决了这个问题。

是否存在将这两种行为结合起来的查询?

我没有使用Nokogiri,但在标准XPath中,您应该只能使用联合运算符:

doc.xpath('.//text() | text()')

相关内容

  • 没有找到相关文章

最新更新