使用xpath(Nokogiri)解析特定路径

时间:2019-02-19 11:36:18

标签: xpath nokogiri

我有一个Rails服务,它从SOAP端点读取XML。简化的结构如下:

<resource id="1287085300000102889" ...>
  <prices>
   <price datefrom="2018-05-25" dateto="2018-05-26" price="0.0" currency="EUR"/>
   <price datefrom="2020-05-23" dateto="2020-05-24" price="1540.0" currency="EUR"/>
   ...
  </prices>
  <products>
    <product name="product1">
      <prices>
        <price datefrom="2018-05-25" dateto="2018-05-26" price="0.0" currency="EUR"/>
        <price datefrom="2020-05-23" dateto="2020-05-24" price="1540.0" currency="EUR"/>
      </prices>
    </product>
  </products>
</resource>

我正在使用我认为使用xpath的Nokogiri gem解析信息。 在上面的示例中,我正在使用resource.xpath(".//price"),但这正在处理所有价格。我只想解析“默认”价格节点中的价格,而我不想处理每个产品中的价格。我该怎么办。

1 个答案:

答案 0 :(得分:1)

我认为您想要的XPath是.//resource/prices/price,但是从您的问题尚不清楚,您的路径中以.表示的上下文是什么。