Ruby: How do I get attribute values from XML with

2019-07-03 23:39发布

问题:

How to get the value of the message value ("ready to use")?

<?xml version="1.0" encoding="UTF-8"?>
<response status="ok" permission_level="admin" message="ready to use" cached="0">
<title>kit</title>
</response>

Thanks

回答1:

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

save and run this ruby file, you will get result:

#=> ready to use


回答2:

You subscript them.

doc = Nokogiri::HTML(open('http://google.com'))
doc.css('img:first').first['alt']
=> "Google"


标签: ruby nokogiri