XmlSimple - 使用xml_in()解析Ruby on Rails中的数据

时间:2011-10-01 01:07:45

标签: ruby-on-rails ruby xml hash xml-simple

我有一个像这样的简单XML文件:

    <Course>
     <CompanyName value="Ford"/>
     <DepartmentName value="assessments"/>
     <CourseName value="parts"/>
     <Result>
      <CoreData>
      <Status value="completed"/>

在我的控制器中我有:

    def xml_facil
      require 'xmlsimple'
      config = XmlSimple.xml_in("#{Rails.root}/doc/TestResults/Ford/assessments/mike.xml", { 'KeyAttr' => 'value' })
      @results = config['CourseName']
    end

在我看来,我有:

    <%= render @results %>

但我得到的错误是:

    undefined method `formats' for nil:NilClass

我想我的方法在这里返回零,所以如何解决这个问题,以便我的视图呈现“部分”?任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

由于您已切换到Nokogiri,因此可以通过以下方式挖掘出您感兴趣的value属性:

require 'nokogiri'
doc   = Nokogiri::XML(open("#{Rails.root}/doc/TestResults/Ford/assessments/mike.xml").read)
value = doc.at('CourseName').attr('value')