Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 为什么将Nokogiri XML转换为JSON,并使用Hash#from_XML删除内容?_Ruby_Json_Xml_Nokogiri - Fatal编程技术网

Ruby 为什么将Nokogiri XML转换为JSON,并使用Hash#from_XML删除内容?

Ruby 为什么将Nokogiri XML转换为JSON,并使用Hash#from_XML删除内容?,ruby,json,xml,nokogiri,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 XM

在将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
def get_数据
doc=Nokogiri::HTML(打开(“,”用户代理“=>”Ruby/{Ruby#u VERSION}”))
#获取有趣的HTML块
blurb=doc.css(“.entry”)
#将Nokogiri对象转换为XML
xmlBlurb=blurb.to_xml
#转换为JSON
jsonBlurb=Hash.from_xml(xmlburb).to_json
返回jsonBlurb
结束
xmlBlurb
jsonBlurb
之间,我将从10多行XML变成一个只有1个属性的JSON对象
{attr:content}

我知道关于将XML转换为JSON有几个问题,但我读到的都没有解决这个具体问题

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

Hash#from_xml
是Rails制作的标准库Hash类的补充。在从XML到散列的转换过程中,这种方法在各种情况下丢失属性时被记录为很麻烦的方法

“”提供了一些建议

资料来源:

Hash#from_xml
是Rails制作的标准库Hash类的补充。在从XML到散列的转换过程中,这种方法在各种情况下丢失属性时被记录为很麻烦的方法

“”提供了一些建议

资料来源:


请编辑您的问题,以包含您期望的输入XML和JSON输出。还有,什么是来自xml的哈希?这不是标准的Ruby方法,也不是来自Nokogiri。你的标题有误导性。将XML转换为JSON不会丢失内容,您的代码正在丢失内容。读作“。您的代码没有演示该问题,并且您缺少帮助您所需的最小示例输入。请编辑您的问题,以包含您期望的输入XML和JSON输出。还有,什么是来自xml的哈希?这不是标准的Ruby方法,也不是来自Nokogiri。你的标题有误导性。将XML转换为JSON不会丢失内容,您的代码正在丢失内容。读作“。您的代码没有演示该问题,而且您缺少帮助您所需的最小样本输入。