使用JDOM解析xml文档
一、使用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("结束遍历谋一本书=========");
}
}
}
使用JDOM解析xml文档的更多相关文章
- 使用JDom解析XML文档模拟Spring的配置文件解析
在J2EE项目中可能会涉及到一些框架的使用,最近接触到了SSH,拿Spring来说配置文件的使用是相当重要的,Spring的配置文件是一个xml文件,Spring是如何读取到配置文件并进行依赖注入的呢 ...
- 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)
众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml- ...
- 浅谈用java解析xml文档(三)
接上一篇,本文介绍使用JDOM解析xml文档, 首先我们还是应该知道JDOM从何而来,是Breet Mclaughlin和Jason Hunter两大Java高手的创作成果,2000年初, JDOM作 ...
- 四种生成和解析XML文档的方法详解
众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml- ...
- 大杂烩 -- 四种生成和解析XML文档的方法详解
基础大杂烩 -- 目录 众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J DOM:在现在的Java JDK里都自带了,在xml-apis.jar包 ...
- Java高级特性 第15节 解析XML文档(3) - JDOM和DOM4J技术
一.JDOM解析 特征: 1.仅使用具体类,而不使用接口. 2.API大量使用了Collections类. Jdom由6个包构成: Element类表示XML文档的元素 org.jdom: 解析xml ...
- 浅谈用java解析xml文档(四)
继续接上一文,这一阵子因为公司项目加紧,导致最后一个解析xml文档的方式,还没有总结,下面总结使用dom4J解析xml. DOM4J(Document Object Model for Java) 使 ...
- DOM4J解析XML文档
Tip:DOM4J解析XML文档 Dom4j是一个简单.灵活的开放源代码的库.Dom4j是由早期开发JDOM的人分离出来而后独立开发的.与JDOM不同的是,dom4j使用接口和抽象基类,虽然Dom4j ...
- dom4j解析xml文档全面介绍
一.dom4j介绍 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点, ...
随机推荐
- Springboot异常:org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userController'
今天本菜鸟编写程序时,遇到了一个异常. org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating ...
- 创建JavaScript函数的几种方式
window.onload = function() { // console.log('ok'); //正规的创建函数 function test(abc, d) { return abc(d); ...
- Linux学习笔记:nginx基础
nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP pro ...
- python基础入门之函数基础
**python函数**一.def语名 def语名在运行的时候创建一个新的函数对象并且赋值一个变量名 一个def语句可以出现在任一语句可以出现的地方(python中所有的语名都是实时运行的,没有编译这 ...
- Python+Selenium基础篇-打开和关闭火狐浏览器
本节介绍如何初始化一个webdriver实例对象driver,然后打开和关闭firefox浏览器.要用selenium打开fiefox浏览器.首先需要去下载一个driver插件geckodriver. ...
- 微信小程序开发之搞懂flex布局3——Flex Item
Flex Item flex容器的子元素就是这个容器的flex item. The direct children of a Flex Container (elements with display ...
- spring实现一个简单的事务管理
前两天给公司的数据库操作加了事务管理,今天博客就更一下这个吧. 先说明:本文只是简单得实现一下事务,事务的具体内容,比如事务的等级,事务的具体实现原理等等... 菜鸟水平有限,暂时还更不了这个,以后的 ...
- Python_day8
多态 class Animal(object): def run(self): print('animal is running') class Dog(Animal): def run(self): ...
- django建立管理系统之五----单页ajax数据交互
ajax数据提交: 需求: 1. 点击ajax方式提交后数据提交到后台数据库,并且在前台实现数据更新 a.可以用刷新页面来实现数据页面的更新 对应的html,实现局部刷新(可以用刷新页面实现,例如 $ ...
- linux下使用iptables统计ip/端口流量
1.添加ip/端口的流量统计 入网流量: iptables -A INPUT -d 出网流量: iptables -A OUTPUT -s 2.查看流量统计信息 iptables -L -v -n - ...