java - Java中XML节点的计数

标签 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>

最佳答案

您的文档具有命名空间。您需要使用不同的 API 调用:

NodeList list = doc.getElementsByTagNameNS("urn:co-ors.informatica.mdm", "item");

如果您不关心命名空间并且您确定 <item...>不会出现在其他命名空间中,您可以使用 "*"相反。

关于java - Java中XML节点的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35596112/

相关文章:

java - 旋转 android 时出现 NullPointerException(显示改变大小)

java - 如何从java应用程序创建Windows服务

c++ - 使用 PugiXML 进行 XML 解析,无限循环

java - 未使用 EclipseLink Moxy 的 Binder 实现调用 JAXB 解码回调

xml - 改进功能以使用标签从字符串填充对象

java - 在公共(public)网络上运行 JAR

java - 理解java中接口(interface)的静态性

java - JTable 上的鼠标监听器触发时组件位置无效

java - 如何让应用程序在第一次启动时打开不同的 Activity,并在以后打开不同的 Activity?

PHP 循环通过 GPX 来计算赛道的总距离