为什么用Hash#from_xml将Nokogiri XML转换为JSON删除内容?

时间:2016-05-24 19:49:56

标签: ruby json xml nokogiri

在将Nokogiri对象转换为XML然后转换为JSON时,大部分内容都消失了。

获取数据和转换的代码:

def get_data
  doc = Nokogiri::HTML(open("<url>", "User-Agent" => "Ruby/#{RUBY_VERSION}"))

  # Get interesting block of HTML
  blurb = doc.css('.entry')

  # Convert Nokogiri object to XML
  xmlBlurb = blurb.to_xml

  # Convert to JSON
  jsonBlurb = Hash.from_xml(xmlBlurb).to_json

  return jsonBlurb 
end

xmlBlurbjsonBlurb之间的某种方式,我将从10多行XML转移到只有1个属性的单个JSON对象{ attr: content }

我知道关于将XML转换为JSON的问题有几个问题,但我读过的都没有解决这个特定问题。

有谁知道什么会导致数据丢失?

1 个答案:

答案 0 :(得分:1)

Hash#from_xml是Rails制作的标准库Hash类的补充。记录此方法在从XML转换为Hash期间在各种条件下丢失属性时很麻烦。

&#34; convert XML to ruby hash with attributes&#34;提供了一些建议。

来源: