Использование Nokogiri и XPath для получения узлов с несколькими атрибутами

Я пытаюсь использовать Nokogiri для анализа файла HTML с какой-то довольно эксцентричной разметкой. В частности, я пытаюсь получить div, которые имеют идентификаторы, несколько классов и стилей. Разметка выглядит примерно так:

<div id="foo">
  <div id="bar" class="baz bang" style="display: block;">
    <h2>title</h2>
    <dl>
      List of stuff
    </dl>
  </div>
</div>

Я пытаюсь получить

, который находится внутри проблемного div. Я могу получить div с одним атрибутом id без проблем, но я могу Не могу найти способ заставить Нокогири захватывать div с обоими классами id и . Итак, они работают нормально:

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

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

Но они ничего не возвращают:

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

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

Есть ли что-то очевидное, что я здесь упускаю?

6
задан TimD 29 August 2010 в 01:51
поделиться