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 ...
随机推荐
- 「零秒思考」是个神话,不过这款笔记术你值得拥有zz
今天读完了赤羽雄二的<零秒思考>,作者是一位在麦肯锡公司工作了 14 年的资深顾问.依照作者的说法,「零秒思考」指的是: 瞬间便能认清现状, 瞬间便能整理问题, 瞬间便能考虑出解决办法, ...
- kubernetes之创建基于名称空间的内存和cpu限额示例
系列目录 首先我们创建一个名称空间 kubectl create namespace quota-mem-cpu-example 创建资源配额 apiVersion: v1 kind: Resourc ...
- html抽取文本信息-java版(适合lucene建立索引)
import org.htmlparser.NodeFilter; import org.htmlparser.Parser; import org.htmlparser.beans.StringBe ...
- 下拉刷新swipetoloadlayout的使用方法,以及自己定义头部
<20160930---------–更新内容 回过头看自己曾经写的这个博客非常多的废话 和效果并不适合大家去使用这个好用的控件 如今整理删掉了自己写的效果, 写了个最简单的实例给一起学习的新手 ...
- .Net 中的反射(动态创建类型实例)
动态创建对象 在前面节中,我们先了解了反射,然后利用反射查看了类型信息,并学习了如何创建自定义特性,并利用反射来遍历它.可以说,前面三节,我们学习的都是反射是什么,在接下来的章节中,我们将学习反射可以 ...
- 九度OJ 1136:Number Steps(步数) (基础题)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:691 解决:412 题目描述: Starting from point (0,0) on a plane, we have written ...
- 简单老式Java对象 横切关注点 最小侵入性编程 声明式编程 避免强迫类继承和接口实现
Spring In Action data injection aspect-oriented programming Plain Old Java Object 依赖注入能让相互协作的软件组件保持松 ...
- react面试宝典
调用 setState 之后发生了什么? 在代码中调用setState函数之后,React 会将传入的参数对象与组件当前的状态合并,然后触发所谓的调和过程(Reconciliation).经过调和过程 ...
- HDU5015 233 Matrix —— 矩阵快速幂
题目链接:https://vjudge.net/problem/HDU-5015 233 Matrix Time Limit: 10000/5000 MS (Java/Others) Memor ...
- PHP执行外部命令【转】
PHP是完全支持外部命令的,但是出于安全考虑,一般很少使用. PHP提供共了3种方法调用外部命令: (1)调用执行外部命令函数(system(),exec(),passthru(),shell_exe ...