Hpricot/nokogiri - 解析SVG/XML文件以获得使用的颜色

问题描述:

我需要帮助来查找SVG(XML)文件中使用的所有颜色。Hpricot/nokogiri - 解析SVG/XML文件以获得使用的颜色

例如,我需要的图像http://upload.wikimedia.org/wikipedia/commons/e/e9/Pepsi_logo_2008.svg

我与角度来说,Hpricot /引入nokogiri宝石试图做类似中使用的颜色列表,

- > doc.search(“[”填列:']“)..等

但我无法得到正确的结果。

如果有任何命令行工具为linux像inkscape获得颜色它将是有帮助的。

+0

类似http://stackoverflow.com/questions/9533947/counting-colors-in-an-svg – 2012-03-20 09:46:37

像这样的东西应该工作:

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 
+0

这做了什么,我需要...谢谢Guardiario .. :) 但有少数SVG的颜色不属于样式标签(@style,“fill”)... 是否可以动态处理它们? – max 2012-03-20 09:55:59

+0

不客气。不要忘记将它投票并标记为正确。 – pguardiario 2012-03-20 09:57:26