(java)从JTree到XML

时间:2014-06-17 15:01:10

标签: java xml jtree

我想完全按照这里要求做的事情: 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文件)。

我怎么能这样做?

1 个答案:

答案 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条件中)缺少