Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用XPATH从XML中检索特定元素的子元素?_Java_Xml_Xpath - Fatal编程技术网

Java 如何使用XPATH从XML中检索特定元素的子元素?

Java 如何使用XPATH从XML中检索特定元素的子元素?,java,xml,xpath,Java,Xml,Xpath,我有以下XML文档: <resultset> <table> <name>RESULTS</name> <data> <row> <field name="TradeId" type="xs:integer">1185652601</field> <field name="TradeVersion" type="xs

我有以下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>
我是否可以扩展这个表达式,使其返回只属于父表的“行”元素的节点列表,而不返回其余元素

//table[name/text() = 'RESULTS']/data/row

这两个XPath表达式都应该提供以下输出(我认为这是您想要的)

Element=”
1185652601
1.
20190807000000
2019-08-07 18:16:20.475078+01:00
'

我不确定最终输出应该是什么,但是这个表达式:

//table//row

应为每个
选择3个

组,因为xml中没有
自定义周期。
//row[../../name/text() = 'RESULTS']
Element='<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>'
//table//row