繁体   English   中英

REXML-存储特定元素

[英]REXML - Storing a certain element

这是我的XML文件:

<performance_summary_response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://cakemarketing.com/affiliates/api/2/">
  <success>true</success>
  <row_count>7</row_count>
  <periods>
    <period>
      <date_range>12 Months</date_range>
      <current_revenue>22369.7000</current_revenue>
      <previous_revenue>3664.1000</previous_revenue>
      <currency_symbol>$</currency_symbol>
    </period>
  </periods>
</performance_summary_response>

我正在使用REXML提取date_range为12个月的current_revenue元素。 我有以下代码:

period = ['12 Months']

data.elements.each('//date_range/..') do |parent|
  if (period.include? parent.elements['date_range/text()'].to_s)
    puts parent.elements['current_revenue']

  end

end

这将打印22369.7000,但是,我无法仅提取数值并将其分配给变量。 我怎么可能去做呢?

对我来说, puts parent.elements['current_revenue']打印<current_revenue>22369.7000</current_revenue> 如果只需要22369.7000,则可以使用:

 current_revenue = parent.elements['current_revenue'].text

current_revenue将是一个字符串,因此您可以使用to_f或其变体将其转换为数字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM