我们正在研究如何在Java中解析DOM树。快速问题,在我教授给我们的下面的部分代码中,他创建了一个ArrayList并将Document对象添加到它。我只使用ArrayList将项添加到列表中,如String,int等。在这种情况下,当他将Document对象添加到它时,Java会自动将每个Node放入列表吗?
DocumentBuilder docBuilder =
DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = docBuilder.parse(f);
List<Node> nodeList = new ArrayList<Node>();
nodeList.add(doc);
while(nodeList.size() > 0)
谢谢!
答案 0 :(得分:1)
没有。 Document
是Node
的子类型,因此将Document
添加到List<Node>
只会添加一个对象,不文档的子节点
答案 1 :(得分:0)
迭代文档的正确方法是从root开始并递归访问每个子节点。有很多方法可以做到:深度优先,广度优先等。
除非您同时创建多个文档,否则我没有看到将文档添加到列表中的值。