怎么实现xml解析元素以Jtree的形式显示!谢谢了
解决方案 »
- java类定义在一个package里面,为什么编译不通过那?
- 关于Collator的中文排序问题(bug?)
- ### 【转载】Java调用SQL Server的存储过程详解
- 是这样一个问题,我从MYSQL数据库里的一个表里的100w多条数据导入另外一个数据库的表里(hsql),改如何操作,
- java如何用正则表达式获取一对标签的内容
- 问一个题目!
- 百分要求牛人来工作流引擎方面的知识
- 可行性求教:用标准java(不用applet)能实现,像turbo c 那样界面的程序吗
- 可不可以在某个类中设置另一个类的组件的值??
- 有没有java学习的群啊,我想加几个。各位大哥大姐介绍几个。。。
- 100分请教NetBeans自定义类访问主窗口控件如何实现??
- 新手NetBeans开发问题!
import java.util.Iterator;import org.dom4j.*;
import org.dom4j.io.SAXReader;public class XmlReadTest{
public static void main(String[] args) throws Exception{
File filename=new File("E:/tmp/2.xml");
SAXReader reader = new SAXReader();
Document document = reader.read(filename);
Element root = document.getRootElement();
for ( Iterator i = root.elementIterator(); i.hasNext(); ) {
Element element = (Element) i.next();
for(Iterator j=element.elementIterator();j.hasNext();){
Element elements = (Element)j.next();
for(Iterator k = elements.elementIterator();k.hasNext();){
Element elementt = (Element)k.next();
System.out.print(" "+elementt.getName()+" ");
Iterator kk = elementt.attributeIterator();
getAttributes(kk);
System.out.println();
}
System.out.print(" "+elements.getName()+" ");
Iterator jj=elements.attributeIterator();
getAttributes(jj);
System.out.println();
}
System.out.print(element.getName()+" ");
Iterator ii=element.attributeIterator();
getAttributes(ii);
System.out.println();
}
}
public static void getAttributes(Iterator e){
while(e.hasNext()){
Node no = (Node)e.next();
System.out.print(no.getName()+"="+no.getStringValue()+" ");
}
}
}
我的xml文件就只三层,如果再多再加层循环!
DOM4J,例如大名鼎鼎的Hibernate 也用 DOM4J 来读取 XML 配置文件。如果不考
虑可移植性,那就采用DOM4J.
2)JDOM 和 DOM 在性能测试时表现不佳,在测试10M 文档时内存溢出。在小文档
情况下还值得考虑使用DOM 和 JDOM.虽然 JDOM 的开发者已经说明他们期望在正
式发行版前专注性能问题,但是从性能观点来看,它确实没有值得推荐之处。另
外,DOM 仍是一个非常好的选择。DOM 实现广泛应用于多种编程语言。它还是许
多其它与XML 相关的标准的基础,因为它正式获得W3C 推荐(与基于非标准的
Java 模型相对),所以在某些类型的项目中可能也需要它(如在JavaScript 中
使用DOM)。
3)SAX 表现较好,这要依赖于它特定的解析方式-事件驱动。一个SAX 检测即
将到来的XML 流,但并没有载入到内存(当然当XML 流被读入时,会有部分文档
暂时隐藏在内存中)。