Java中XML节点的计数
如何从这个XML响应中获得Java中的标记数?我尝试使用NodeList list = doc.getElementsByTagName("item"); System.out.println(list.getLength());
,但它没有给出所需的计数,即2
<?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:item label="Phone">
<ns2:rowidObject>2</ns2:rowidObject>
<ns3:phoneNumber>11223344</ns3:phoneNumber>
</ns3:item>
</ns3:Phone>
</ns3:Person>
<ns3:changeSummary logging="false" xmlns:sdo="commonj.sdo"/>
</ns6:object>
</ns6:ReadPersonReturn>
# 1 楼答案
您的文档有名称空间。您需要使用不同的API调用:
如果不关心名称空间,并且确定
<item...>
不会出现在其他名称空间中,则可以使用"*"