5

XML ファイルの内容を .xml 形式で表示する方法が欲しいですJTree。カスタムTreeModel(およびTreeCellRenderer)を実装することにより、DOMを使用してこれをすでに達成しています。ただし、非常に扱いにくく (多くの回避策とハッカーが必要)、端がかなり荒いです。

JTreeSAXで解析されたXMLファイルの内容を表示する方法を知っている人はいますか?

ありがとう!

4

1 に答える 1

14

これが私が使用するコードです。これは Dom4J の API に基づいていますが、お気に入りの XML ライブラリの API に簡単に変換できます。

public JTree build(String pathToXml) throws Exception {
     SAXReader reader = new SAXReader();
     Document doc = reader.read(pathToXml);
     return new JTree(build(doc.getRootElement()));
}

public DefaultMutableTreeNode build(Element e) {
   DefaultMutableTreeNode result = new DefaultMutableTreeNode(e.getText());
   for(Object o : e.elements()) {
      Element child = (Element) o;
      result.add(build(child));
   }

   return result;         
}
于 2010-01-06T08:59:32.443 に答える