日期:2014-05-20  浏览次数:21213 次

关于获取XML中的数据
Java code

                Node root = doc.getFirstChild();
        NodeList nodes = root.getChildNodes();
        for(int i=0;i<nodes.getLength();i++){
            NodeList ns = nodes.item(i).getChildNodes();
            for(int j=0;j<ns.getLength();j++){
                String s=ns.item(j).getTextContent();
                System.out.print(s+"   ");
            }
            System.out.println();
        }


XML code

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<students>
    <student>
        <name>lisi</name>
        <id>1001</id>
        <age>man</age>
    </student>
        <student>
        <name>zhangsan</name>
        <id>1002</id>
        <age>man</age>
    </student>
    <student>
        <name>wangwu</name>
        <id>1003</id>
        <age>man</age>
    </student>
    <student>
        <student>
            <name>haha</name>
            <student>
            <name>hehe</name>
            <id>1002</id>
            <age>woman</age>    
            </student>    
        </student>
    </student>
</students>


老师上课写了这么一个代码,是获取XLM中各个子节点中的数据的,但是我想不通的是老师只写了2个getChildNodes(),那如果有3层关系的子节点,这个程序是怎么实现获取数据的?(可能我表达的不是那么清楚,我看有的书上写着用递归的方法,那样感觉比较好理解)

------解决方案--------------------
Node root = doc.getFirstChild();
得到<students>
NodeList nodes = root.getChildNodes();
得到所有的<student>节点
NodeList ns = nodes.item(i).getChildNodes();
得到<name> <id> <age>节点

------解决方案--------------------
探讨
引用:

Node root = doc.getFirstChild();
得到<students>
NodeList nodes = root.getChildNodes();
得到所有的<student>节点
NodeList ns = nodes.item(i).getChildNodes();
得到<name> <id> <age>节点

我的意思是如果n……