我想完全按照这里要求做的事情: Convert JTree to XML 他得到的答案很好但是当我尝试使用它时我得到了一个INVALID_CHARACTER_ERR。
以下是我在JTree中添加的XML文件示例:
<?xml version="1.0"?>
<company0>
<staff id="1001">
<firstname>yong</firstname>
<lastname>mook kim</lastname>
<nickname>mkyong</nickname>
<salary>100000</salary>
</staff>
<staff id="2001">
<firstname>low</firstname>
<lastname>yin fong</lastname>
<nickname>fong fong</nickname>
<salary>200000</salary>
</staff>
</company0>
我想创建一个函数,返回一个返回JTree内容的字符串(或直接是一个XML文件)。
我怎么能这样做?
答案 0 :(得分:1)
你的&#39; createTree&#39;应该看起来像这样:
private static Element createTree(Document doc, TreeModel model, Object node) {
Element el = doc.createElement(node.toString());
for(int i=0;i<model.getChildCount(node);i++){
DefaultMutableTreeNode child = (DefaultMutableTreeNode)model.getChild(node, i);
if (child.isLeaf()) {
el.setTextContent(child.toString());
} else {
el.appendChild(createTree(doc,model,child));
}
}
return el;
}
因为原始createTree
将节点值转换为元素,因为检查(在上面的if条件中)缺少