我正在使用带有 rails 3.1 的 ruby 1.9.3。我的要求是有一个如下所示的解析器文件。当我用浏览器打开时;标记未按顺序对齐。<item>
后 ;数据为俱乐部格式。存在
<?xml version="1.0" encoding="utf-8"?>
当我以崇高的文字打开时;它显示在<item>
之后
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
在</item>
之后,还有]]>
存在。需要解析的数据在此<item></item>
内。parse_file
形式Nokogiri称为的方法仅称为start_element, end_element
。当我们尝试通过删除上述语句来手动编辑文件时;然后它将调用 characters
方法来获取数据。下面是示例 code.is 还有其他方法吗?
<batch transactionType="HC"><item><?xml version="1.0" encoding="utf-8"?><C><CI><Ve>00501</Ve></CI></C></item></batch>
您可以使用"xml-simple"轻松完成此操作。假设您的 XML 文件名是"test.xml",首先安装 gem:
gem install xml-simple
然后,您可以尝试:
require "XmlSimple"
abc = XmlSimple.xml_in File.read("test.xml")
puts abc['item']
输出应为:
{"C"=>[{"CI"=>[{"Ve"=>["00501"]}]}]}