Ruby:如何使用Nokogiri从XML获取属性值?

3

如何获取消息值(“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>

谢谢

2个回答

4
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

什么是%Q,它是否必要? - TheOneTeam
当然可以,%Q{} 用于定义多行字符串。 - Siwei
1
不,这并非“必须的”。你也可以使用单引号或HEREDOC - Phrogz
有很多方法可以定义多行字符串,不过我更喜欢用 %Q。 :) - Siwei

-1

你订阅它们。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接