如何在Java中使用文档将XML作为树传递
我在自己的数据结构中定义了自己的树,如下所示:如何在Java中使用文档将XML作为树传递,java,xml,tree,Java,Xml,Tree,我在自己的数据结构中定义了自己的树,如下所示: class MyTree { String value; List<MyTree > childs = new ArrayList<>(); //geters and seters... } 现在,我有递归方法来迭代我的树 public void traverseTree(MyTree tree) { int childCount = tree.childs .size();
class MyTree {
String value;
List<MyTree > childs = new ArrayList<>();
//geters and seters...
}
现在,我有递归方法来迭代我的树
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]);
}
}
}
我想要打印节点,它们只在我的数据结构MyTree
中
我不知道用户通过文档可以帮助我吗
谢谢你的回复
编辑:MyTree
过去是从xml(xmlData
)创建的。MyTree与xml文档有何关联?你没有表现出来对不起。。。MyTree过去是从xml(xmlData)创建的。那么您要打印LanguageNode对象吗?它们是什么?不,我正在尝试从LanguageNode打印文档中的所有节点。所以我使用自己的树-LanguageNode验证文档
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]);
}
}
}
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();