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

前端之家收集整理的这篇文章主要介绍了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;']

猜你在找的Ruby相关文章