dom4j的解析实例
- <books>
- <book>
- <author>Thomas</author>
- <title>Java从入门到放弃</title>
- <publisher>UCCU</publisher>
- </book>
- <book>
- <author>小白</author>
- <title>MySQL从删库到跑路</title>
- <publisher>Go Die</publisher>
- </book>
- <book>
- <author>PHPer</author>
- <title>Best PHP</title>
- <publisher>PHPchurch</publisher>
- </book>
- </books>
- package com;
- import org.dom4j.Document;
- import org.dom4j.Element;
- import org.dom4j.io.SAXReader;
- import java.io.ByteArrayInputStream;
- import java.io.File;
- import java.util.List;
- public class SAXReaderXML {
- public static void main(String[] args) throws Exception {
- SAXReader reader = new SAXReader();
- File xmlfile = new File("D:/books.xml");
- String xml = "<books><book><author>Thomas</author><title>Java从入门到放弃</title><publisher>UCCU</publisher>" +
- "</book><book><author>小白</author><title>MySQL从删库到跑路</title><publisher>GoDie</publisher></book>" +
- "<book><author>PHPer</author><title>BestPHP</title><publisher>PHPchurch</publisher></book></books>";
- Document fileDocument = reader.read(xmlfile);//从xml文件获取数据
- Document document = reader.read(new ByteArrayInputStream(xml.getBytes("utf-8")));//读取xml字符串,注意这里要转成输入流
- Element root = document.getRootElement();//获取根元素
- List<Element> childElements = root.elements();//获取当前元素下的全部子元素
- for (Element child : childElements) {//循环输出全部book的相关信息
- List<Element> books = child.elements();
- for (Element book : books) {
- String name = book.getName();//获取当前元素名
- String text = book.getText();//获取当前元素值
- System.out.println(name + ":" + text);
- }
- }
- //获取第二条书籍的信息
- Element book2 = childElements.get(1);
- Element author = book2.element("author");//根据元素名获取子元素
- Element title = book2.element("title");
- Element publisher = book2.element("publisher");
- System.out.println("作者:" + author.getText());//获取元素值
- System.out.println("书名:" + title.getText());
- System.out.println("出版社:"+publisher.getText());
- }
- }
1、读取xml数据
2、解析xml数据
3、获取子元素数据
4、输出元素信息
dom4j的解析实例的更多相关文章
- [工作代码]dom4j解析实例
工作中,我需要和另一个公司(A公司)共同开发一个模块,我写一个servlet接口,A公司携带xml格式的报文来访问.我采用流的形式读取,在处理后以流的形式写入,在返回(相应)给A公司. demo: p ...
- JSON解析实例——使用Json-lib
JSON解析实例——使用Json-lib Json-lib下载及使用 本文介绍用一个类库进行JSON解析. 工具下载地址:http://sourceforge.net/projects/json-li ...
- $使用dom4j可解析 返回&#x等字样的 html转义字符
如果以GET或POST请求某个系统返回,带有 $#x 那很有可能是axis服务器返回的. <?xml version="1.0" encoding="UTF-8&q ...
- $使用dom4j可解析 返回&#x等字样的 html转义字符【转】
如果以GET或POST请求某个系统返回,带有 $#x 那很有可能是axis服务器返回的. <?xml version="1.0" encoding="UTF-8&q ...
- JavaScript中hoisting(悬置/置顶解析/预解析) 实例解释,全局对象,隐含的全局概念
JavaScript中hoisting(悬置/置顶解析/预解析) 实例解释,全局对象,隐含的全局概念 <html> <body> <script type="t ...
- pcapng文件的python解析实例以及抓包补遗
为了弥补pcap文件的缺陷,让抓包文件可以容纳更多的信息,pcapng格式应运而生.关于它的介绍详见<PCAP Next Generation Dump File Format> 当前的w ...
- JDOM,dom4j方式解析XML
<?xml version="1.0" encoding="UTF-8"?> <dataSources> <!-- 定义MySQL ...
- 如何使用DOM4j+xpath 解析
1.首先去dom4j官网下载一个对应版本的JAR包 XML的配置文件 导入一个config.xml文件 下面是dom4j+xpath解析XML文件
- dom4j递归解析XML字符串所有子节点
/** * dom4j递归解析所有子节点 * * @param childElements * @param mapEle * @return */ public Map<String, Obj ...
随机推荐
- 将UIBezierPath存为自己定义格式的字符串,再将字符串转为UIBezierPath
<pre name="code" class="objc">自己定义字符串格式为:@"123.02,234.23|321.23,432.0 ...
- 关于angular JS 中$timeOut 的一些不正常情况下的$destory
最近项目中存在的问题头疼脑热了好一会. 我先简单说明下问题是由,使用$timeOut循环调用的时候由于页面存在异步加载会出现反复执行循环反复调用$timeOut,怎么清除跳出循环都不管用.于是查到了如 ...
- ThinkPHP5 安装自定义模块
安装官方给的demo,在build.php文件中 <?php // +-------------------------------------------------------------- ...
- linux上查看系统内核版本命令(转载)
uname -a uname -r 查看发行版本信息: 在RedHat系统里,存在一个/etc/redhat-release文件,里面保存了发行版的版本信息 $cat /etc/redhat-rele ...
- 文件共享和使用 dup 函数创建新描述符的区别
前言 文件共享是指同时打开一个文件 用 dup 函数能对指定文件描述符再创建一个新的描述符,且这个新的描述符和旧的描述符指向的是同一个文件. 这两种行为有什么区别呢?下面给出的两张文件系统的图形象的解 ...
- 图像处理之opencv---常用函数
http://blog.sina.com.cn/s/blog_9c3fc0730100yzwt.html 很全 http://www.xuebuyuan.com/593449.html cvrepea ...
- xcode升级到6.0以后遇到的警告错误 原帖链接http://www.cocoachina.com/bbs/simple/?t112432.html
Xcode 升级后,常常遇到的遇到的警告.错误,解决方法 从sdk3.2.5升级到sdk 7.1中间废弃了很多的方法,还有一些逻辑关系更加严谨了.1,警告:“xoxoxoxo” is depreca ...
- Flow 的工作方式 类型检查
Vue.js 技术揭秘 | Vue.js 技术揭秘 https://ustbhuangyi.github.io/vue-analysis/ Vue技术内幕 http://hcysun.me/vue-d ...
- Template Pattern
1.Template模式解决的问题:对于某一个业务逻辑在不同的对象中有不同的细节实现,但是逻辑的框架是相同的.将逻辑框架放在抽象基类中,并定义好细节的接口,子类中实现细节.Template模式利用多态 ...
- mysql错误指令:Failed to open file "file_name" error 2/error 22
网上说Linux下可能会有此问题,及导入sql文件时出现如标题所示的错误.而我用的是windows系统,也出现了同样的问题. source filename | \. filename 执行这条语 ...