如何从循环节点提取XML节点值和属性
我使用Kettle和GetDatafromXML转换从XML文件中提取某些信息。我将循环Xpath设置为如何从循环节点提取XML节点值和属性,xml,xpath,pentaho,kettle,Xml,Xpath,Pentaho,Kettle,我使用Kettle和GetDatafromXML转换从XML文件中提取某些信息。我将循环Xpath设置为/*[name()='feed']/*[name()='entry'],这将引入所有相关字段 我想从regions节点中提取每个节点作为其自己的字段,以便以后可以用“/”分隔符将它们连接起来 接下来,我需要为每个节点创建每周费率\u from和每周费率\u to等字段。我不太清楚Xpath如何区分periodType之类的属性,以及如何提取from和to信息。换句话说,当periodType=
/*[name()='feed']/*[name()='entry']
,这将引入所有相关字段
我想从regions节点中提取每个
节点作为其自己的字段,以便以后可以用“/”分隔符将它们连接起来
接下来,我需要为每个
节点创建每周费率\u from
和每周费率\u to
等字段。我不太清楚Xpath如何区分periodType之类的属性,以及如何提取from和to信息。换句话说,当periodType=weekly时,我只需要提取“to”和“from”费率属性
希望这不会太混乱,我可能解释得不好
<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>
世界
美国
加利福尼亚
加州内陆帝国酒店
蒂梅丘拉谷
特梅库拉
...
... 总共有20个“入口”节点
计算所有区域元素:
count(/feed/entry/content/listing/regions/region)
仅针对periodType weekly从和到检索:
/feed/entry/content/listing/rates/rate[@periodType = 'weekly']/@from
/feed/entry/content/listing/rates/rate[@periodType = 'weekly']/@to
非常感谢。我对Xpath不是很熟悉,所以我不知道如何只获取“weekly”属性。