如何将rails客户端转换为Hash

时间:2012-04-12 08:53:29

标签: ruby-on-rails nokogiri linkedin

我创建这样的客户端。

 client = LinkedIn::Client.new("3333", "rrrrrrr")
  client.authorize_from_access(session[:atoken], session[:asecret])

并获取此类个人资料信息

 @profile = client.profile

当我打印像“ puts client.profile ”这样的个人资料时,我得到以下内容

 #<LinkedIn::Profile:0x4a77770 @doc=#<Nokogiri::XML::Document:0x253bb64 name="document" children=[#<Nokogiri::XML::Element:0x253b9fc name="pers
on" children=[#<Nokogiri::XML::Text:0x253b87c "\n  ">, #<Nokogiri::XML::Element:0x253b84c name="first-name" children=[#<Nokogiri::XML::Text:0x
253b684 "Anthony">]>, #<Nokogiri::XML::Text:0x253b5ac "\n  ">, #<Nokogiri::XML::Element:0x253b57c name="last-name" children=[#<Nokogiri::XML::
Text:0x253b3b4 "Raj S">]>, #<Nokogiri::XML::Text:0x253b2dc "\n  ">, #<Nokogiri::XML::Element:0x253b2ac name="headline" children=[#<Nokogiri::X
ML::Text:0x253b0e4 "Senior Software Engineer at AB Innovative Software Pvt. Ltd">]>, #<Nokogiri::XML::Text:0x253b00c "\n  ">, #<Nokogiri::XML:
:Element:0x253afdc name="site-standard-profile-request" children=[#<Nokogiri::XML::Text:0x253ae14 "\n    ">, #<Nokogiri::XML::Element:0x253ade
4 name="url" children=[#<Nokogiri::XML::Text:0x253ac1c "http://www.linkedin.com/profile?viewProfile=&key=78718913&authToken=XE_V&authType=name
&trk=api*a178337*s186521*">]>, #<Nokogiri::XML::Text:0x253ab44 "\n  ">]>, #<Nokogiri::XML::Text:0x253aa6c "\n">]>]>>

如何将其解析为hasmap或字符串?

请帮助我,因为我是铁杆新手。

2 个答案:

答案 0 :(得分:2)

  1. 获取Nokogiri XML文档

    xml = @profile.instance_variable_get :@doc
    
  2. 将Nokogiri XML文档转换为哈希:
    https://stackoverflow.com/a/10144623/405017

  3. 如果你想要一个不同的表格哈希,那么你应该在问题中指定你想要的输出。 :p有很多种方法可以将XML文档表示为哈希值。

答案 1 :(得分:0)

  1. 将配置文件转换为xml 2.操纵nokogiri