How to manipulate DOM with Ruby on Rails
dom, ruby-on-rails
Solution
If what you're trying to do is manipulate HTML documents inside a rails application, you should take a look at Nokogiri.
It uses XPath to search through the document. With the following, you would find any h1 with the "blue" css class inside a document.
require 'nokogiri'
require 'open-uri'
doc = Nokogiri::HTML(open('http://www.stackoverflow.com'))
doc.xpath('//h1/a[@class="blue"]').each do |link|
puts link.content
end
After, if what you were trying to do was indeed parse the current page dom, you should take a look at JavaScript and JQuery. Rails can't do that.
Problem
As the title said, I have some DOM manipulation tasks. For example, I want to: - find all H1 element which have blue color. - find all text which have size 12px. - etc.. How can I do it with Rails? Thank you.. :) Update I have been doing some research about extracting web page content based on this paper-> http://www.springerlink.com/index/A65708XMUR9KN9EA.pdf The summary of the step is: - get the web url which I want to be extracted (single web page) - grab some elements from the web page based on some visual rules (Ex: grab all H1 which have blue color) - process the elements with my algorithm - save the result into my database. -sorry for my bad english-