如何使用Java中的Document将XML作为树传递

时间:2017-02-21 20:25:34

标签: java xml tree

我已经在自己的数据结构中定义了自己的树,如下所示:

class MyTree {
   String value;
   List<MyTree > childs = new ArrayList<>();

   //geters and seters...
}

示例树:

     document 
        |
       item
  |           |
animal      people
  |           |  
 name       gender

现在,我有迭代的递归方法...

public void traverseTree(MyTree tree) {
        int childCount = tree.childs .size();
        if (childCount == 0) {
            // leaf node, we're done
        } else {
          for (int i = 0; i < childCount; i++) {
                traverseTree(tree.childs[i]);
          }
        }
}

所以..然后我有

程序中加载的xml:

        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        Document doc = dBuilder.parse(new ByteArrayInputStream(xmlData.getBytes("UTF-8"))); //where xmlData is xml in String..
        doc.getDocumentElement().normalize();

我想要打印节点,它们只在我的数据结构中MyTree

我不知道用户Document可以帮助我的方法是什么?

感谢您的回复。

编辑:MyTree过去是从xml(xmlData)创建的。

0 个答案:

没有答案