从 java 中的 xml 响应中检索值
Retrieve value from xml response in java
我有一个 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"));
但无法使用以下代码打印 phone 号码:
System.out.println(readResponse.getString("object/Person/Phone/phoneNumber"));
如何获取 <ns3:phoneNumber>
的值?
从未像您发布的那样遍历 XML,但我认为
readResponse.getString("object/Person/Phone/item/phoneNumber");
可能会给你想要的结果。
我有一个 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"));
但无法使用以下代码打印 phone 号码:
System.out.println(readResponse.getString("object/Person/Phone/phoneNumber"));
如何获取 <ns3:phoneNumber>
的值?
从未像您发布的那样遍历 XML,但我认为
readResponse.getString("object/Person/Phone/item/phoneNumber");
可能会给你想要的结果。