Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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中解析XML文件并检查每个元素是否有子元素?_Java_Xml_Xml Parsing - Fatal编程技术网

如何在Java中解析XML文件并检查每个元素是否有子元素?

如何在Java中解析XML文件并检查每个元素是否有子元素?,java,xml,xml-parsing,Java,Xml,Xml Parsing,我有一个如下所示的XML文件: <customers> <customer> <name>XXX</name> <address>Nagar</address> <number> <num1>123</num1> <num2>456</num2>

我有一个如下所示的XML文件:

<customers>
    <customer>
        <name>XXX</name>
        <address>Nagar</address>
        <number>
             <num1>123</num1>
             <num2>456</num2>
        </number>
    </customer>
    <customer>
        <name>YYY</name>
        <address>Nagar</address>
        <number>
             <num1>789</num1>
             <num2>012</num2>
        </number>
    </customer>
</customers>
我用DOM来做这个。以下给出代码:

NodeList nodeList = doc.getElementsByTagName("*");
for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
    if (node.getNodeType() == Node.ELEMENT_NODE) {
       System.out.println(node.getNodeName()+" = "+node.getChildNodes());
    }
}

你能帮我一下吗。

你的循环中需要另一个循环来遍历子循环

这项工作:

NodeList nodeList = document.getElementsByTagName("*");
for (int i = 0; i < nodeList.getLength(); i++)
    {
    Node node = nodeList.item(i);
    if (node.getNodeType() == Node.ELEMENT_NODE)
        {
        Element element=(Element) node;

        System.out.print(element.getNodeName()+" = ");
        boolean is_first_child=true;

        // CHILDS
        NodeList nodechilds=node.getChildNodes();

        for (int j = 0; j < nodechilds.getLength(); j++)
            {
            Node a_child = nodechilds.item(j);

            if (a_child.getNodeType() == Node.ELEMENT_NODE)
                {
                if (!is_first_child) System.out.print (",");
                System.out.print (a_child.getNodeName());

                is_first_child=false;
                }
            }

    if (is_first_child) System.out.print ("null");
    System.out.println();
    }
}
NodeList NodeList=document.getElementsByTagName(“*”);
for(int i=0;i
customers = [customers: null]
customer = [customer: null]
name = [name: null]
address = [address: null]
number = [number: null]
num1 = [num1: null]
num2 = [num2: null]
customer = [customer: null]
name = [name: null]
address = [address: null]
number = [number: null]
num1 = [num1: null]
num2 = [num2: null]
NodeList nodeList = document.getElementsByTagName("*");
for (int i = 0; i < nodeList.getLength(); i++)
    {
    Node node = nodeList.item(i);
    if (node.getNodeType() == Node.ELEMENT_NODE)
        {
        Element element=(Element) node;

        System.out.print(element.getNodeName()+" = ");
        boolean is_first_child=true;

        // CHILDS
        NodeList nodechilds=node.getChildNodes();

        for (int j = 0; j < nodechilds.getLength(); j++)
            {
            Node a_child = nodechilds.item(j);

            if (a_child.getNodeType() == Node.ELEMENT_NODE)
                {
                if (!is_first_child) System.out.print (",");
                System.out.print (a_child.getNodeName());

                is_first_child=false;
                }
            }

    if (is_first_child) System.out.print ("null");
    System.out.println();
    }
}