[英]The document “doc.xml” does not have a valid root (REXML::ParseException)
我正在尝试将XML文档首次转换为Ruby哈希,并且没有成功。 我的XML文档doc.xml
和我的脚本hashrunner.rb
一起放在一个文件夹中。
在hashrunner.rb
:
require 'active_support/core_ext/hash'
hash = Hash.from_xml("doc.xml")
puts hash
XML文档的第一行是<?xml version="1.0" encoding="US-ASCII"?>
,如果有帮助的话。
在我的控制台中,当我运行ruby hashrunner.rb
,收到错误消息:
/Users/me/.rvm/gems/ruby-1.9.3-p374/gems/activesupport-4.0.0/lib/active_support/xml_mini/rexml.rb:34:in `parse':The document "doc.xml" does not have a valid root (REXML::ParseException)
作为一个相对较新的Ruby人,我不明白这意味着什么,并且一些互联网搜索也没有找到解释。 首先,我甚至不确定我是否在from_xml
方法中正确调用XML文件,所以如果是这样的话请告诉我。 如果有帮助的话,我愿意使用不同的宝石或不同的方法。
我很确定Hash::from_xml
必须采用XML字符串,而不是文件名字符串。 尝试:
hash = Hash.from_xml(File.read("doc.xml"))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.