5 Stimmen

Nokogiri: Suche nach <div> mit XPath

Ich benutze Nokogiri (Rubygem) css-Suche für die Suche nach bestimmten <div> innerhalb meines html. Es sieht so aus, als ob die css-Suche von Nokogiri keine Regex mag. Ich würde gerne zu Nokogiris xpath Suche, da diese anscheinend Regex in Suchzeichenfolgen unterstützt.

Wie implementiere ich die unten erwähnte (Pseudo-)css-Suche in eine xpath-Suche?

require 'rubygems'
require 'nokogiri'

value = Nokogiri::HTML.parse(<<-HTML_END)
  "<html>
    <body>
      <p id='para-1'>A</p>
      <p id='para-22'>B</p>
      <h1>Bla</h1>
      <p id='para-3'>C</p>
      <p id='para-4'>D</p>
      <div class="foo" id="eq-1_bl-1">
        <p id='para-5'>3</p>
      </div>
    </body>
  </html>"
HTML_END

# my_block is given
my_bl = "1"
# my_eq corresponds to this regex
my_eq = "\/[0-9]+\/"

# FIXME The following line should be changed to an xpath search.
if my_div = value.css("div#eq-#{my_eq}_bl-#{my_bl}.foo").first
  # doing some stuff with the <p> inside the div
end

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X