我使用带有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>
内。形成Nokogiri的parse_file
方法仅称为start_element, end_element
。当我们通过删除上述语句来编辑文件时手动尝试;然后它将调用characters
方法来获取数据。下面是示例代码。还有其他方法吗?。
<batch transactionType="HC"><item><?xml version="1.0" encoding="utf-8"?><C><CI><Ve>00501</Ve></CI></C></item></batch>
答案 0 :(得分:0)
您可以通过名为“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"]}]}]}