dom4j解析xml

public class XMLdom4j {
 
 public InputStream getXMLpath(){
  InputStream is = this.getClass().getClassLoader().getResourceAsStream("student1.xml");//获取xml
  System.out.println();
  return is;
 }
 
 public Element getElement(InputStream is) throws Exception{
  SAXReader sax = new SAXReader();
  Document read = sax.read(is);//获取xml文档模型
  Element rootElement = read.getRootElement();//获取根节点
  return rootElement;
 }
 
 public void parseXml(Element element){
  List<Attribute>attributes = element.attributes();//节点属性遍历
  System.out.println("节点名称:"+element.getName());
  Iterator<Attribute> iterator = attributes.iterator();
  while(iterator.hasNext()){
   Attribute next = iterator.next();
   System.out.println("属性:"+next.getName()+":"+next.getText()); //属性名  +属性值<student2 id="002">     id="002
  }
  String textTrim = element.getTextTrim();  //节点的value值
  if(!StringUtils.isEmpty(textTrim)){
   System.out.println("value:"+textTrim);
  }
  Iterator elementIterator = element.elementIterator();
  while(elementIterator.hasNext()){//遍历节点是否含有子节点,递归
   Element next = (Element) elementIterator.next();
   parseXml(next);
  }
 }
 public static void main(String[] args) throws Exception {
  XMLdom4j dom = new XMLdom4j();
  dom.parseXml(dom.getElement(dom.getXMLpath()));
 }
 
}

 

 

<?xml version="1.0" encoding="UTF-8"?>
<students>
 <student1 id="001">
  <微信公众号>每特学院</微信公众号>
  <学号>20140101</学号>
  <地址>北京海淀区</地址>
  <座右铭>要么强大,要么听话</座右铭>
 </student1>
 <student2 id="002">
  <新浪微博>蚂蚁课堂</新浪微博>
  <学号>20140102</学号>
  <地址>北京朝阳区</地址>
  <座右铭>在哭泣中学会坚强</座右铭>
 </student2>
 <student3>12312</student3>
</students> 

posted on 2018-07-12 17:37  HelloWorld20180327  阅读(68)  评论(0编辑  收藏  举报

导航