ruby – 使用Nokogiri和XPath获取具有多个属性的节点

我正在尝试使用Nokogiri来解析一个带有一些相当古怪的标记的 HTML文件.具体来说,我正在尝试抓取同时定义了id,多个类和样式的div.标记看起来像这样:
<div id="foo">
  <div id="bar" class="baz bang" style="display: block;">
    <h2>title</h2>
    <dl>
      List of stuff
    </dl>
  </div>
</div>

我正试图抓住< dl>它位于问题div内.我可以使用单个id属性获得没有问题的div,但是我无法找到让Nokogiri用id和类来获取div的方法.所以这些工作正常:

content = @doc.xpath("//div[id='foo']")

content = @doc.css('div#foo')

但这些不会返回任何东西:

content = @doc.xpath("//div[id='bar']")

content = @doc.xpath("div#bar")

我有什么明显的遗漏吗?

解决方法

I can get divs with a single id
attribute with no problem,but I can’t
figure out a way of getting Nokogiri
to grab divs with both ids and
classes.

你要:

//div[id='bar' and class='baz bang' and style='display: block;']

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...