1

我正在使用 Kettle 和 Get Data From XML 转换从 XML 文件中提取某些信息。我将 Loop Xpath 设置为引入/*[name()='feed']/*[name()='entry']所有相关字段。

我想<region>从区域节点中提取每个节点作为自己的字段,以便以后可以使用“/”分隔符将它们连接起来。

接下来,我需要为每个节点创建类似weekly_rate_fromand的字段。我不能完全弄清楚 Xpath 来区分像 periodType 这样的属性,然后还提取 from 和 to 信息。换句话说,当 periodType=weekly 时,我只需要提取“to”和“from”速率属性weekly_rate_to<rate>

希望这不会太令人困惑,我可能解释得不好

<feed>
<entry>
  <content>
    <listing>    
      <regions>
        <region>World</region>
        <region>USA</region>
        <region>California</region>
        <region>Inland Empire California</region>
        <region>Temecula Valley</region>
        <region>Temecula</region>
      </regions>
      <rates rentalBasis="property">
        <rate from="3395" to="4175" currencyUnit="USD" periodType="weekly"/>
        <rate from="599" to="749" currencyUnit="USD" periodType="nightly-weekday"/>
        <rate from="799" to="1019" currencyUnit="USD" periodType="nightly-weekend"/>
      </rates>
    </listing>
  </content>
</entry>
<entry>
...
</entry>
... for a total of 20 "entry" nodes
</feed>
4

1 回答 1

2

计算所有区域元素:

count(/feed/entry/content/listing/regions/region)

每周检索fromandto仅用于 periodType:

/feed/entry/content/listing/rates/rate[@periodType = 'weekly']/@from
/feed/entry/content/listing/rates/rate[@periodType = 'weekly']/@to
于 2013-02-26T00:19:19.200 回答