先把属性依次拿出来,这样就可以判定我要留下什么了,
就像这样(要留下什么你自己改下)package com.conxml;
import org.jdom.input.*;
import org.jdom.*;
import java.util.*;public class ReadAllXML {
public void ReadXML1() throws Exception {
SAXBuilder builder = new SAXBuilder(); Document read_doc = builder.build("struts-config.xml"); Element stu = read_doc.getRootElement();
System.out.println("根元素:"+stu.getName());
// List list=null;
List lchildren=stu.getChildren();
Element oneLevelDeep=null;
Element towLevelDeep=null;
Element threeLevelDeep=null;
Element foreLevelDeep=null;
Iterator itr = (lchildren).iterator();
while(itr.hasNext()) {
oneLevelDeep = (Element)itr.next();
System.out.println("第一层子元素(根的直接子)"+oneLevelDeep.getName());
System.out.println(oneLevelDeep.getName()+"的属性"+oneLevelDeep.getAttributes());
//List l1= stu.getChildren("first");
// List l1=oneLevelDeep.getAttributes();
// Iterator itrl1 = (l1).iterator();
// while(itrl1.hasNext()) {
// Element e = (Element)itrl1.next();
// System.out.println(e.getName());
// }
// for(int i = 0;i < l1.size();i++) {
//
// Element e = (Element)l1.get(i);
// System.out.println(e.getName());
// String str_number = e.getAttributeValue(e.getName());
// System.out.println(str_number);
// }
//System.out.println(stu.getAttributeValue(oneLevelDeep.getName()));
System.out.println("值:"+stu.getChildText(oneLevelDeep.getName()));
List towchildren = oneLevelDeep.getChildren();
Iterator itr1 = (towchildren).iterator();
while(itr1.hasNext()) {
towLevelDeep = (Element)itr1.next();
System.out.println("第2层子元素"+towLevelDeep.getName());
System.out.println(towLevelDeep.getName()+"的属性"+towLevelDeep.getAttributes());
System.out.println("值:"+oneLevelDeep.getChildText(towLevelDeep.getName()));
List threechild = towLevelDeep.getChildren();
Iterator itr2 = (threechild).iterator();
while(itr2.hasNext()) {
threeLevelDeep= (Element)itr2.next();
System.out.println("第3层子元素"+threeLevelDeep.getName());
System.out.println(threeLevelDeep.getName()+"的属性"+threeLevelDeep.getAttributes());
System.out.println("值:"+towLevelDeep.getChildText(threeLevelDeep.getName()));
List forechild = threeLevelDeep.getChildren();
Iterator itr3 = (forechild).iterator();
while(itr3.hasNext()) {
foreLevelDeep= (Element)itr3.next();
System.out.println("第4层子元素"+foreLevelDeep.getName());
System.out.println(foreLevelDeep.getName()+"的属性"+foreLevelDeep.getAttributes());
System.out.println("值:"+threeLevelDeep.getChildText(foreLevelDeep.getName()));
List fivechild = threeLevelDeep.getChildren();
}
}
}
}
}
public static void main(String[] args) throws Exception { ReadAllXML rx = new ReadAllXML();
rx.ReadXML1();
}
}
就像这样(要留下什么你自己改下)package com.conxml;
import org.jdom.input.*;
import org.jdom.*;
import java.util.*;public class ReadAllXML {
public void ReadXML1() throws Exception {
SAXBuilder builder = new SAXBuilder(); Document read_doc = builder.build("struts-config.xml"); Element stu = read_doc.getRootElement();
System.out.println("根元素:"+stu.getName());
// List list=null;
List lchildren=stu.getChildren();
Element oneLevelDeep=null;
Element towLevelDeep=null;
Element threeLevelDeep=null;
Element foreLevelDeep=null;
Iterator itr = (lchildren).iterator();
while(itr.hasNext()) {
oneLevelDeep = (Element)itr.next();
System.out.println("第一层子元素(根的直接子)"+oneLevelDeep.getName());
System.out.println(oneLevelDeep.getName()+"的属性"+oneLevelDeep.getAttributes());
//List l1= stu.getChildren("first");
// List l1=oneLevelDeep.getAttributes();
// Iterator itrl1 = (l1).iterator();
// while(itrl1.hasNext()) {
// Element e = (Element)itrl1.next();
// System.out.println(e.getName());
// }
// for(int i = 0;i < l1.size();i++) {
//
// Element e = (Element)l1.get(i);
// System.out.println(e.getName());
// String str_number = e.getAttributeValue(e.getName());
// System.out.println(str_number);
// }
//System.out.println(stu.getAttributeValue(oneLevelDeep.getName()));
System.out.println("值:"+stu.getChildText(oneLevelDeep.getName()));
List towchildren = oneLevelDeep.getChildren();
Iterator itr1 = (towchildren).iterator();
while(itr1.hasNext()) {
towLevelDeep = (Element)itr1.next();
System.out.println("第2层子元素"+towLevelDeep.getName());
System.out.println(towLevelDeep.getName()+"的属性"+towLevelDeep.getAttributes());
System.out.println("值:"+oneLevelDeep.getChildText(towLevelDeep.getName()));
List threechild = towLevelDeep.getChildren();
Iterator itr2 = (threechild).iterator();
while(itr2.hasNext()) {
threeLevelDeep= (Element)itr2.next();
System.out.println("第3层子元素"+threeLevelDeep.getName());
System.out.println(threeLevelDeep.getName()+"的属性"+threeLevelDeep.getAttributes());
System.out.println("值:"+towLevelDeep.getChildText(threeLevelDeep.getName()));
List forechild = threeLevelDeep.getChildren();
Iterator itr3 = (forechild).iterator();
while(itr3.hasNext()) {
foreLevelDeep= (Element)itr3.next();
System.out.println("第4层子元素"+foreLevelDeep.getName());
System.out.println(foreLevelDeep.getName()+"的属性"+foreLevelDeep.getAttributes());
System.out.println("值:"+threeLevelDeep.getChildText(foreLevelDeep.getName()));
List fivechild = threeLevelDeep.getChildren();
}
}
}
}
}
public static void main(String[] args) throws Exception { ReadAllXML rx = new ReadAllXML();
rx.ReadXML1();
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货