繁体   English   中英

Java:如何在JTree中显示XML文件

[英]Java: How to display an XML file in a JTree

我想有办法在JTree显示XML文件的内容。 我已经使用DOM,通过实现自定义TreeModel (和TreeCellRenderer )来完成此操作。 然而,它非常笨重(很多变通方法和hackery)并且边缘相当粗糙。

是否有人知道如何让JTree显示XML文件的内容,用SAX解析?

谢谢!

这是我使用的代码。 它基于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;         
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM