怎么实现xml解析元素以Jtree的形式显示! 怎么实现xml解析元素以Jtree的形式显示!谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Jtree实现,有想法,帖子顶上去。 主要是xml文件解析后如何循环遍历,用什么方法比较好! 没有人回答,我只好自己写个循环把xml元素循环出来了!import java.io.File;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文件就只三层,如果再多再加层循环! 1)DOM4J 性能最好,连 Sun 的 JAXM 也在用DOM4J.目前许多开源项目中大量采用DOM4J,例如大名鼎鼎的Hibernate 也用 DOM4J 来读取 XML 配置文件。如果不考虑可移植性,那就采用DOM4J. 2)JDOM 和 DOM 在性能测试时表现不佳,在测试10M 文档时内存溢出。在小文档情况下还值得考虑使用DOM 和 JDOM.虽然 JDOM 的开发者已经说明他们期望在正式发行版前专注性能问题,但是从性能观点来看,它确实没有值得推荐之处。另外,DOM 仍是一个非常好的选择。DOM 实现广泛应用于多种编程语言。它还是许多其它与XML 相关的标准的基础,因为它正式获得W3C 推荐(与基于非标准的Java 模型相对),所以在某些类型的项目中可能也需要它(如在JavaScript 中使用DOM)。 3)SAX 表现较好,这要依赖于它特定的解析方式-事件驱动。一个SAX 检测即将到来的XML 流,但并没有载入到内存(当然当XML 流被读入时,会有部分文档暂时隐藏在内存中)。 没写过java的,写过c#的xml转成TreeView http://www.infosecurity.org.cn/content/appsec/xmlbasic/xml_jtree_if_chan.htm,看看吧 求正则表达式高手 练习题答案 在JAVA中实现像GOOGLE网站上对输入文本自动提示补充功能 截取字符串 xml有哪4项技术,网上查不到,急!! 送分了 关于java打印的问题请教!急,在线! JAVA中有没有类似C中的select、poll机制的类包来实现线程并发控制 求助各位,怎样编写汉化软件。 如何开发“手机短信” 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 流被读入时,会有部分文档
暂时隐藏在内存中)。