一、使用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文档的更多相关文章

  1. 使用JDom解析XML文档模拟Spring的配置文件解析

    在J2EE项目中可能会涉及到一些框架的使用,最近接触到了SSH,拿Spring来说配置文件的使用是相当重要的,Spring的配置文件是一个xml文件,Spring是如何读取到配置文件并进行依赖注入的呢 ...

  2. 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)

    众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml- ...

  3. 浅谈用java解析xml文档(三)

    接上一篇,本文介绍使用JDOM解析xml文档, 首先我们还是应该知道JDOM从何而来,是Breet Mclaughlin和Jason Hunter两大Java高手的创作成果,2000年初, JDOM作 ...

  4. 四种生成和解析XML文档的方法详解

    众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml- ...

  5. 大杂烩 -- 四种生成和解析XML文档的方法详解

    基础大杂烩 -- 目录 众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J DOM:在现在的Java JDK里都自带了,在xml-apis.jar包 ...

  6. Java高级特性 第15节 解析XML文档(3) - JDOM和DOM4J技术

    一.JDOM解析 特征: 1.仅使用具体类,而不使用接口. 2.API大量使用了Collections类. Jdom由6个包构成: Element类表示XML文档的元素 org.jdom: 解析xml ...

  7. 浅谈用java解析xml文档(四)

    继续接上一文,这一阵子因为公司项目加紧,导致最后一个解析xml文档的方式,还没有总结,下面总结使用dom4J解析xml. DOM4J(Document Object Model for Java) 使 ...

  8. DOM4J解析XML文档

    Tip:DOM4J解析XML文档 Dom4j是一个简单.灵活的开放源代码的库.Dom4j是由早期开发JDOM的人分离出来而后独立开发的.与JDOM不同的是,dom4j使用接口和抽象基类,虽然Dom4j ...

  9. dom4j解析xml文档全面介绍

    一.dom4j介绍 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点, ...

随机推荐

  1. linux jdk 环境变量

    一.jdk的安装 1.下载 jdk-7u79-linux-i586.tar.gz 2.tar -zxvf jdk-7u79-linux-i586.tar.gz  解压 3.mv jdk1.7.0_79 ...

  2. [gazebo-1] process has died [pid 22855, exit code 255,

    [gazebo-1] process has died [pid 22855, exit code 255, cmd /opt/ros/kinetic/lib/gazebo_ros/gzserver ...

  3. Python 验证码识别-- tesserocr

    Python 验证码识别-- tesserocr tesserocr 是 Python 的一个 OCR 识别库 ,但其实是对 tesseract 做的一 层 Python API 封装,所以它的核心是 ...

  4. Core DES加、解密

    安装 Portable.BouncyCastle Nuget包 地址:https://www.nuget.org/packages/Portable.BouncyCastle/ Install-Pac ...

  5. 20155312 张竞予 Exp3 免杀原理与实践

    Exp3 免杀原理与实践 目录 基础问题回答 (1)杀软是如何检测出恶意代码的? (2)免杀是做什么? (3)免杀的基本方法有哪些? 实验总结与体会 实践过程记录 正确使用msf编码器,msfveno ...

  6. Codeforces 1091D New Year and the Permutation Concatenation 找规律,数学 B

    Codeforces 1091D New Year and the Permutation Concatenation https://codeforces.com/contest/1091/prob ...

  7. vi/vim 三种模式的操作

    来源:http://www.runoob.com/linux/linux-vim.html ps:刚刚进入vi/vim 是命令模式 一.命令模式 i 切换到输入模式,以输入字符. x 删除当前光标所在 ...

  8. php7 三元运算 精简

    $abc = isset($_GET['name'])?$_GET['name']:'abc'; // 5.+ $abcd = $_GET[

  9. PHP与Excel 笔记

    一:   PHP将数据导出Excel表中(投机型) 二: PHPExcel: Github上可以下载此插件包,用法如下: 前端: //上传阅卷员Excel文件 $("#upload_memb ...

  10. squid 正向代理 简单配置

    linux 正向同步 项目上web服务器不给访问外网,迁移服务器环境又太麻烦,决定给web服务器做正向代理,刚开始使用nginx,但是https代理一直不成功,后面大佬建议使用squid来达到相同目的 ...