dom如何解析动态XML 各位专家请问,如果一个XML文件不是固定的,事先不知道他的叶子和节点叫什么有多少,请问如何解析完全? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是你也不知道结构有多深,叶子有多少,只知道有个XML文件,需要把它遍历出来 很简单,你只要写一个遍历的方法就可以了,这个方法的入口可以是一个arraylist,在第一次遍历的时候把你要遍历的xml文档的根节点加到这个arraylist里,然后依次递归该arraylist。你可以参考我以前的一个帖子里的做法 比如说你要解析一个名为calendar.xml的文件,把其中的每个叶子节点的名称和内容打印出来,程序如下: public static void main(String[] args) { SAXReader saxReader = new SAXReader(); Document document = null; try { document = saxReader.read(new File("calendar.xml")); } catch (DocumentException e) { e.printStackTrace(); } Element root = document.getRootElement(); printElement(root); } public static void printElement(Element element) { List childList = element.elements(); if (childList.size() != 0) { for (Iterator it = childList.iterator(); it.hasNext(); ) { Element child = (Element)it.next(); printElement(child); } } else { System.out.println(element.getName() + " " + element.getText()); } 请教高手:有了多态,instanceof存在的理由是什么? 问一个关于泛型的类型转化问题 急,在线,数据库操作 异常与多线程 怎么把,其他的进制转化为十进制 急,怎么在JApplet 中打开一个网页? 请问java与word,excel怎么连接? 怎么浏览word文件? 如何返回数据库,ncharnvarchar型的字段! 谁要我做的英汉三万单词词库?还有我做的排除法背单词程序附原代码,词库mdb格式,分大学,托福,GRE,GMAT等,请开贴! 用JAVA能开发出什么大系统啊? 2000行左右的JAVA程序大概是个什么规模? c++调用java,然后访问oracle出现的问题
public static void main(String[] args) {
SAXReader saxReader = new SAXReader();
Document document = null;
try {
document = saxReader.read(new File("calendar.xml"));
} catch (DocumentException e) {
e.printStackTrace();
}
Element root = document.getRootElement();
printElement(root);
}
public static void printElement(Element element) {
List childList = element.elements();
if (childList.size() != 0) {
for (Iterator it = childList.iterator(); it.hasNext(); ) {
Element child = (Element)it.next();
printElement(child);
}
} else {
System.out.println(element.getName() + " " + element.getText());
}