开发者

XML Parsing with Java, walking DOM tree

We are studying how to parse through the DOM tree in Java. Quick question, in the below partial code my prof gave us, he creates an Arra开发者_运维技巧yList and adds the Document object to it. I've only used the ArrayList to add items to the list like String, int, etc. In this case, when he adds the Document object to it, does Java automatically put each Node into the list?

       DocumentBuilder docBuilder = 
           DocumentBuilderFactory.newInstance().newDocumentBuilder(); 

        Document doc = docBuilder.parse(f); 

        List<Node> nodeList = new ArrayList<Node>(); 
        nodeList.add(doc); 

        while(nodeList.size() > 0) 

Thanks!


No. Document is a subtype of Node, so adding the Document to the List<Node> just adds that one object, not the child nodes of the document.


The right way to iterate through a Document is by starting with the root and recursively visiting each child node. There are a lot of ways to do it: depth first, breadth first, etc.

I don't see the value in adding the Document to a List, unless you're creating multiple Documents at the same time.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜