Ruby:我如何使用Nokogiri从XML获取属性值?
问题描述:
如何获取消息值的值(“准备使用”)?Ruby:我如何使用Nokogiri从XML获取属性值?
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok" permission_level="admin" message="ready to use" cached="0">
<title>kit</title>
</response>
感谢
答
require 'rubygems'
require 'nokogiri'
string = %Q{
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok" permission_level="admin" message="ready to use" cached="0">
<title>kit</title>
</response>
}
doc = Nokogiri::XML(string)
doc.css("response").each do |response_node|
puts response_node["message"]
end
保存并运行此ruby文件,你会得到结果:
#=> ready to use
答
你下标它们。
doc = Nokogiri::HTML(open('http://google.com'))
doc.css('img:first').first['alt']
=> "Google"
什么是%Q,是否有必要? – 2012-04-12 07:59:10
当然,%Q {}用于定义多行的字符串。 – 2012-04-12 08:00:02
不,不是'必要的'。您也可以使用单引号或[HEREDOC](http://log.gmarik.info/2007/12/rubys-here-document-heredoc-mini.html)。 – Phrogz 2012-04-12 12:51:59