How to get XML node content using XPath and Nokogiri

I have a code like this:

@doc = Nokogiri::HTML(open(url) @doc.xpath(query).each do |html| puts html # how get content of a node end 

How do I get the contents of a node instead of something like this:

 <li class="stat"> 
+8
source share
2 answers

This is the Synopsis example in the README file for Nokogiri, showing one way to do this using CSS, XPath, or a hybrid:

 require 'nokogiri' require 'open-uri' # Get a Nokogiri::HTML:Document for the page we're interested in... doc = Nokogiri::HTML(open('http://www.google.com/search?q=tenderlove')) # Do funky things with it using Nokogiri::XML::Node methods... #### # Search for nodes by css doc.css('h3.r a.l').each do |link| puts link.content end #### # Search for nodes by xpath doc.xpath('//h3/a[@class="l"]').each do |link| puts link.content end #### # Or mix and match. doc.search('h3.r a.l', '//h3/a[@class="l"]').each do |link| puts link.content end 
+12
source

html.content or html.text

See Node documentation

+5
source

All Articles