max*_*max 2 ruby svg hpricot nokogiri xml-parsing
我需要帮助找到SVG(XML)文件中使用的所有颜色.
例如,我需要图像中使用的颜色列表http://upload.wikimedia.org/wikipedia/commons/e/e9/Pepsi_logo_2008.svg
我正在尝试使用hpricot/nokogiri宝石来做类似的事情,
- > doc.search("['fill:']")..等
但我无法得到正确的结果.
如果有像inkscape这样的linux命令行工具来获取颜色会有所帮助.
这样的事情应该有效:
require 'nokogiri'
require 'open-uri'
url = 'http://upload.wikimedia.org/wikipedia/commons/e/e9/Pepsi_logo_2008.svg'
doc = Nokogiri::HTML open(url)
puts doc.xpath('//*[contains(@style,"fill")]').map{|e| e[:style][/fill:([^;]*)/, 1]}.uniq
Run Code Online (Sandbox Code Playgroud)