先导入jar包

<?xml version="1.0" encoding="UTF-8"?>
<companys>
<company id="www.baidu.com">
<name>百度</name>
<brand>熊掌</brand>
<size>10000</size>
</company>
<company id="sina.cn">
<name>新浪</name>
<brand>小图标</brand>
<size>2000</size>
</company>
</companys>
package zr.com.util;

import java.io.File;
import java.util.Iterator;
import java.util.List; import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.omg.CORBA.portable.ValueBase; /**
*
* @author LF
*
*/
public class TestXML { public static void main(String[] args) {
// 创建SAXReader对象
SAXReader reader = new SAXReader();
// 创建Document对象
Document document = null;
// 读取文件(xml文件)
try {
document = reader.read(new File("src/test.xml"));
} catch (DocumentException e) {
e.printStackTrace();
}
// 获取跟根节点
Element element = document.getRootElement(); TestXML.getAllContent(element);
} /**
* 递归
* @param node
*/
public static void getAllContent(Element node){
// 获取当前节点名称
System.out.println("--当前节点:"+node.getName());
// 获取当前节点的所有属性节点
List<Attribute> attributes = node.attributes();
// 遍历属性节点
for (Attribute attribute : attributes) {
System.err.println("属性名:"+attribute.getName()+",属性值:"+attribute.getValue());
}
// 获取当前节点的值
String value = node.getText();
// 如果当前节点的值不为空,则输出
if (!"".equals(value)) {
System.out.println("节点名:"+node.getName()+",节点的值"+value);
}
// 创建迭代器
Iterator it = node.elementIterator();
// 遍历子节点
while (it.hasNext()) {
Element childNode = (Element) it.next();
// 递归
getAllContent(childNode);
}
}
}

最新文章

  1. PhoneGap配置笔记
  2. 浅谈JavaScript之原型
  3. SQL基础之GROUPING
  4. C++中的RTTI机制解析
  5. 【书单】book list
  6. 关于CSS中的字体尺寸设置 em rem等
  7. ci文件缓存使用,可以用来实现多模板切换 改写URL辅助函数
  8. Asp.net mvc + .net ef database first 或 model first 时如何添加验证特性
  9. django 模板if判断的时候==两边需要有空格
  10. Chapter 4 持久存储数据对象
  11. 【.NET基础】--委托、事件、线程(3)
  12. Javascript this 解析
  13. 在ubuntu 12.04 中配置java环境(安装jdk, tomcat, maven, eclipse)
  14. 第三方控件netadvantage UltraWebGrid如何生成多级跨行表头个人总结
  15. CodeForces 712D Memory and Scores
  16. MyEclipse下安装FatJar打包工具
  17. rf常用关键字总结
  18. 计蒜客NOIP2017提高组模拟赛(三)day2-小区划分
  19. 【转】Python3使用Django2.x的settings文件详解
  20. Zookeeper+Curator 分布式锁

热门文章

  1. gcc编译 汇编 选项
  2. Windows 系统定时自动重启
  3. mybatis-generator的坑
  4. 完整的CRUD——javaweb
  5. asp+jquery+ajax,asp后台程序执行不正常
  6. hdu 3625 Examining the Rooms——第一类斯特林数
  7. 本地连接远程环境mysql报错:Host&#39;xxx.xxx.xxx.xxx&#39; is not allowed to connect to this MySQL server
  8. ubuntu 设置固定DNS
  9. sonar 获取扫描结果(二)
  10. Unable to resolve target &#39;android-21&#39;