【发布时间】:2019-09-18 09:35:14
【问题描述】:
我有以下 XML 文档:
<resultset>
<table>
<name>RESULTS</name>
<data>
<row>
<field name="TradeId" type="xs:integer">1185652601</field>
<field name="TradeVersion" type="xs:integer">1</field>
<field name="TradeDate" type="xs:date">20190807000000</field>
<field name="tradeLastUpdatedTimestamp" type="xs:dateTime">2019-08-07 18:16:20.475078+01:00</field>
</row>
</data>
</table>
<table>
<name>CustomCalcPeriod</name>
<data>
<row>
<field name="CouponSchPayDateAdj" type="xs:date">20160920000000</field>
<field name="CouponSchCouponAmount" type="xs:double"/>
<field name="CouponSchRate" type="xs:double">5</field>
</row>
</data>
</table>
<table>
<name>CustomNotionalStep</name>
<data>
<row>
<field name="AnnuitySchNotional" type="xs:double">10000000</field>
<field name="NotionalSchStartDateAdj" type="xs:date">20160620000000</field>
<field name="NotionalSchStartDateUnadjusted" type="xs:date">20160620000000</field>
</row>
</data>
</table>
使用 XPATH 我想分别检索每个表的“行”元素列表:RESULTS、CustomCalcPeriod、CustomNotionalStep。到目前为止,我只设法使用以下表达式提取整个节点:
"//name[text()='RESULTS']"
我可以扩展这个表达式,使它返回一个只属于父表的“行”元素的 NodeList,而不是其余的吗?
【问题讨论】:
-
您的 xml 中没有
CustomCalcPeriod。