Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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 on rails 如何在xml文件中获取特定名称的值 700054480 5012 0.5 德里-DSW 德里-DLN 易通速递私人有限公司-32012 穆克什·库马尔·古普塔 2013年2月11日 交付/关闭 999 穆克什999488339 2013年2月12日 2013年4月5日 2013-02-17 11:26:00 没有一个 2013-02-17 11:26:00 2013年4月5日19:40 萨尔理货结束 DLN Umesh Jaswanti-10015 2013年4月5日19:39 萨尔理货结束 DLN Umesh Jaswanti-10015_Ruby On Rails_Xml_Ruby On Rails 4_Xml Parsing_Ruby On Rails 5.1 - Fatal编程技术网

Ruby on rails 如何在xml文件中获取特定名称的值 700054480 5012 0.5 德里-DSW 德里-DLN 易通速递私人有限公司-32012 穆克什·库马尔·古普塔 2013年2月11日 交付/关闭 999 穆克什999488339 2013年2月12日 2013年4月5日 2013-02-17 11:26:00 没有一个 2013-02-17 11:26:00 2013年4月5日19:40 萨尔理货结束 DLN Umesh Jaswanti-10015 2013年4月5日19:39 萨尔理货结束 DLN Umesh Jaswanti-10015

Ruby on rails 如何在xml文件中获取特定名称的值 700054480 5012 0.5 德里-DSW 德里-DLN 易通速递私人有限公司-32012 穆克什·库马尔·古普塔 2013年2月11日 交付/关闭 999 穆克什999488339 2013年2月12日 2013年4月5日 2013-02-17 11:26:00 没有一个 2013-02-17 11:26:00 2013年4月5日19:40 萨尔理货结束 DLN Umesh Jaswanti-10015 2013年4月5日19:39 萨尔理货结束 DLN Umesh Jaswanti-10015,ruby-on-rails,xml,ruby-on-rails-4,xml-parsing,ruby-on-rails-5.1,Ruby On Rails,Xml,Ruby On Rails 4,Xml Parsing,Ruby On Rails 5.1,我知道简单的xml文件,比如 <ecomexpress-objects version="1.0"> <object pk="1" model="awb"> <field type="BigIntegerField" name="awb_number">700054480</field> <field type="CharField" name="orderid">5012

我知道简单的xml文件,比如

        <ecomexpress-objects version="1.0">
        <object pk="1" model="awb">
        <field type="BigIntegerField" name="awb_number">700054480</field>
        <field type="CharField" name="orderid">5012</field>
        <field type="FloatField" name="actual_weight">0.5</field>
        <field type="CharField" name="origin">DELHI-DSW</field>
        <field type="CharField" name="destination">DELHI-DLN</field>
        <field type="CharField" name="customer">Ecom Express Private Limited - 32012</field>
        <field type="CharField" name="consignee">MUKESH KUMAR GUPTA</field>
        <field type="CharField" name="pickupdate">11-Feb-2013</field>
        <field type="CharField" name="status">Delivered / Closed</field>
        <field type="CharField" name="reason_code"/>
        <field type="CharField" name="reason_code_description"/>
        <field type="CharField" name="reason_code_number">999</field>
        <field type="CharField" name="receiver">mukesh 9999488339</field>
        <field type="CharField" name="expected_date">12-Feb-2013</field>
        <field type="CharField" name="last_update_date">05-Apr-2013</field>
        <field type="CharField" name="delivery_date">2013-02-17 11:26:00</field>
        <field type="CharField" name="ref_awb">None</field>
        <field type="CharField" name="rts_shipment"/>
        <field type="CharField" name="system_delivery_update">2013-02-17 11:26:00 </field>
        <field type="CharField" name="rts_system_delivery_status"/>
        <field name="scans">
        <object pk="1" model="scan_stages">
        <field type="DateTimeField" name="updated_on">05 Apr, 2013, 19:40 hrs</field>
        <field type="CharField" name="status">SAL Tally closed</field>
        <field type="CharField" name="reason_code"/>
        <field type="CharField" name="reason_code_number"/>
        <field type="CharField" name="location">DLN</field>
        <field type="CharField" name="Employee">Umesh Jaswanti - 10015</field>
        </object>
        <object pk="2" model="scan_stages">
        <field type="DateTimeField" name="updated_on">05 Apr, 2013, 19:39 hrs</field>
        <field type="CharField" name="status">SAL Tally closed</field>
        <field type="CharField" name="reason_code"/>
        <field type="CharField" name="reason_code_number"/>
        <field type="CharField" name="location">DLN</field>
        <field type="CharField" name="Employee">Umesh Jaswanti - 10015</field>
        </object>
        </field>
        </object>
        </ecomexpress-objects>

971
汽车发动机
881
醇测法
Heureka.cz |自动摩托车|乙醇测试仪
如何读取它并获得特定值,但在第一种情况下,我希望获得状态='Delivered/Closed' 我怎样才能得到它


当然,有没有阅读文件的教程,有没有获得值的教程,请与我分享

我想你应该试试gem。

你可以用Nokogiri解析xml文件:
doc=file.open(“file.xml”){f | Nokogiri::xml(f)}
Nokogiri将返回一个数据对象,你可以使用它。
 <HEUREKA>
  <CATEGORY>
    <CATEGORY_ID>971</CATEGORY_ID>
    <CATEGORY_NAME>Auto-moto</CATEGORY_NAME>
  </CATEGORY>
  <CATEGORY>
   <CATEGORY_ID>881</CATEGORY_ID>
   <CATEGORY_NAME>Alkohol testery</CATEGORY_NAME>
   <CATEGORY_FULLNAME>Heureka.cz | Auto-moto | Alkohol testery</CATEGORY_FULLNAME>
   </CATEGORY>
</HEUREKA>