一、使用JDOOM解析xml文档

准备工作

1.下载JDOM.jar 包

解析代码如下

import org.jdom2.Attribute;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder; import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List; public class Main { public static void main(String[] args) throws Exception { //创建一个解析器
SAXBuilder builder=new SAXBuilder(); //创建一个文件输入流
InputStream in=new FileInputStream("src/server.xml"); //将流加载到解析器中。
Document document=builder.build(in); //获取文档的根节点
Element rootElement=document.getRootElement(); //将根节点的所有子节点获取放到一个集合中
List<Element> list=rootElement.getChildren(); //循环遍历所有子节点
for(Element element:list){
System.out.println("开始遍历第"+(list.indexOf(element)+1)+"本书======"); //获取所有的属性并遍历输出
List<Attribute> list1=element.getAttributes();
for(Attribute attr:list1){
System.out.println("属性名是"+attr.getName());
System.out.println("属性值是"+attr.getValue());
}
System.out.println("结束遍历第"+(list.indexOf(element)+1)+"本书======");
}
}
}

二、使用DOM4J解析xml文档

准备工作:

1.下载导入DOM4J的jar包,代码如下:

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader; import java.io.File;
import java.util.Iterator;
import java.util.List; public class Main { public static void main(String[] args) throws Exception { //创建一个解析器
SAXReader saxReader=new SAXReader(); //加载文档到dom中,注意是dom4j中的dom
Document document=saxReader.read(new File("src/server.xml")); //获取文档的根节点
Element bookStore=document.getRootElement(); //获取根节点的迭代器
Iterator iter=bookStore.elementIterator(); //迭代根节点下面的子节点
while(iter.hasNext()){
System.out.println("开始遍历谋一本书=========");
Element book=(Element)iter.next(); //获取节点的属性集合
List<Attribute> bookAttr=book.attributes(); //遍历属性集合
for(Attribute attr:bookAttr){
System.out.println("属性名:"+attr.getName()+"====属性值:"+attr.getValue());
} //获取子节点book的子节点迭代器
Iterator iterator=book.elementIterator();
while(iterator.hasNext()){
Element child=(Element)iterator.next();
System.out.println("节点名:"+child.getName()+"==节点值:"+child.getStringValue());
}
System.out.println("结束遍历谋一本书=========");
}
}
}

最新文章

  1. 转载文章(Redis中对key的操作)
  2. Android Handler机制
  3. NSMutableRLEArray objectAtIndex:effectiveRange:: Out of bounds
  4. SharePoint 2013中以其他用户身份登录的WebPart(免费下载)
  5. Kakfa分布式集群搭建
  6. 深入理解ThreadLocal(二)
  7. doctype的种类
  8. itext poi 学习之旅 (1)创建pdf
  9. 关于C语言中变量类型转换
  10. Java设计模式:桥接模式
  11. node.js 89行爬虫爬取智联招聘信息
  12. 网页设计——4.html基本标签链接,图片,表格
  13. JDK安装与配置(Windows 7系统)
  14. squid代理允许FTP访问设置
  15. [BalticOI2014]Friends/[BZOJ4287]新三个和尚
  16. .Net Core DES加密解密
  17. miniui 使用心得
  18. tiny4412SDK 1312B 启动ubuntuDsektop
  19. ~递归递归(FBI树--蓝桥)
  20. Android 为库(library)创建不同编译环境

热门文章

  1. tomcat 请求处理流程分析(基于nio)
  2. Core DES加、解密
  3. 异常:No Spring WebApplicationInitializer types detected on classpath
  4. 洛谷P1386座位安排
  5. eclipse遇到启动报an error has occurred see the log file错
  6. python编程之如何在Windows上安装python
  7. Notes on Operating System
  8. [转]JDBC如何进行超时设置
  9. ntile函数
  10. 20145232韩文浩《网络对抗》MSF基础应用