从java中的xml响应中检索值

时间:2016-02-12 07:51:28

标签: java xml request response

我有如下的XML响应:

<?xml version="1.0" encoding="UTF-8"?>
<ns6:ReadPersonReturn xmlns:ns2="urn:co-base.informatica.mdm" xmlns:ns1="urn:cs-base.informatica.mdm" xmlns:ns4="urn:co-meta.informatica.mdm" xmlns:ns3="urn:co-ors.informatica.mdm" xmlns:ns5="urn:task-base.informatica.mdm" xmlns:ns6="urn:cs-ors.informatica.mdm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns6:ReadPersonReturn">
   <ns6:object xmlns:ns0="urn:cs-rest.informatica.mdm">
      <ns3:Person label="Person">
         <ns2:rowidObject>28</ns2:rowidObject>
         <ns3:firstNM>John</ns3:firstNM>
         <ns3:lastNM>Cook</ns3:lastNM>
         <ns3:Phone firstRecord="1" pageSize="10" searchToken="SVR1.28WC2">
            <ns3:item label="Phone">
               <ns2:rowidObject>1</ns2:rowidObject>
               <ns3:phoneNumber>123456789</ns3:phoneNumber>
            </ns3:item>
         </ns3:Phone>
      </ns3:Person>
      <ns3:changeSummary logging="false" xmlns:sdo="commonj.sdo"/>
   </ns6:object>
</ns6:ReadPersonReturn>

我可以打印下面的名字或姓氏:

System.out.println(readResponse.getString("object/Person/firstNM"));
System.out.println(readResponse.getString("object/Person/lastNM"));

但无法使用以下代码打印电话号码:

System.out.println(readResponse.getString("object/Person/Phone/phoneNumber"));

如何获取<ns3:phoneNumber>的价值?

1 个答案:

答案 0 :(得分:1)

您发布时从未遍历过XML,但我认为

readResponse.getString("object/Person/Phone/item/phoneNumber");

可能会给你想要的结果。