dom4j简单的XML文件遍历 demo

随便找一个简单的xml文件,存放进自己的项目中

data.xml

<?xml version="1.0" encoding="UTF-8"?>

<monitorCenter id="0" name="根">
  <area id="108405" name="1" >
    <concentrator id="108409" name="11" >
      <nodeContrl id="108429" uid="111111111112" name="111" ></nodeContrl>
      <nodeContrl id="108425" uid="111111111111" name="112" ></nodeContrl>
      <groupMaintain id="108421" groupId="2" name="113"></groupMaintain>
      <groupMaintain id="108417" groupId="1" name="114" >
        <nodeContrl id="108433" uid="222222222222" name="1141" ></nodeContrl>
        <groupMaintain id="108437" groupId="3" name="1142" >
          <nodeContrl id="108445" uid="333333333333" name="11421" ></nodeContrl>
          <groupMaintain id="108441" groupId="4" name="11422" ></groupMaintain>
          </groupMaintain>
      </groupMaintain>
    </concentrator>
    <concentrator id="108413" name="12" ></concentrator>
  </area>
  <area id="108449" name="2" ></area>
</monitorCenter>
 

 

java简单遍历

package com.royal.client;

import java.util.Iterator;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class Dom4jClient {
	
	private static String filePath = "src/main/java/com/royal/asset/data.xml";
	
	public static void main(String args[]) {
		SAXReader reader = new SAXReader();
		try {
			//读取xml文档
			Document document = reader.read(filePath);
			//得到xml文档根节点元素
			Element root = document.getRootElement();
			//获取根节点的子节点
//			List<Element> elementList = root.elements();
//			//得到子节点之后就是自由发挥的时候了,比如遍历子节点得到子节点的结点名称和节点的值
//			Iterator<Element> it = elementList.iterator();
//			Element element = null;
//			while(it.hasNext()){
//				element = it.next();
//				System.out.println(element.attributeValue("name"));
//				childElements(element);
//			}
			
			childElements(root,1);
		} catch (DocumentException e) {
			e.printStackTrace();
		}
	}
	
	public static void childElements(Element element, int level){
		String preStr = "";
		for(int i = 1; i <= level; i++){
			preStr += "------";
		}
		List<Element> elementList = element.elements();
		Iterator<Element> it = elementList.iterator();
		Element e = null;
		while(it.hasNext()){
			e = it.next();
			System.out.println(level + preStr + e.attributeValue("name"));
			childElements(e,level + 1);
		}
	}
}

 

别忘了导入dom4j jar包.

 

遍历结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值