【发布时间】:2014-09-10 07:02:08
【问题描述】:
我在文档片段上搜索文本节点。这有效,如下面的 sn-p 所示:
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()') 即可解决问题。
是否有结合这两种行为的查询?
【问题讨论】:
-
也许 "//p[text()='foo']" ?
-
foo不是基于您的示例的标签。 -
备注:字符串不固定,外层标签也不固定。我只想找到所有子节点中的所有文本节点。
-
您要查找除
foo以外的文本节点吗? -
我想找到所有个文本节点,不管它的名字。