java saxreader 字符串_解析XML文件(字符串)的两种方法-----SAXReader 与 DocumentHelper...
一、用SAXReader 方式解析:实例测试类TestXML
package *
import java.io.ByteArrayInputStream;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class TestXml {
/**
* @param args
*/
public static void main(String[] args) {
try {
// TODO Auto-generated method stub
//定义要解析的XML字符串
String transMessage = "<?xml version=/"1.0/" encoding=/"GBK/"?>"
+ "
"
+ ""
+ ""
+ ""
+ "" + "";
// 创建xml解析对象
SAXReader reader = new SAXReader();
// 定义一个文档
Document document = null;
//将字符串转换为
document = reader.read(new ByteArrayInputStream(transMessage
.getBytes("GBK")));
// 得到xml的根节点(message)
Element root = document.getRootElement();
//定义子循环体的变量
Element ticket=null;
Iterator tickets = null;
for (tickets = root.element("body").element("ticketNotify").elementIterator(); tickets.hasNext();) {
ticket = (Element) tickets.next();
System.out.print(ticket.attributeValue("id")+" ");
System.out.print(ticket.attributeValue("dealTime")+" ");
System.out.println(ticket.attributeValue("status"));
}
//Element.asXML方法,获得包括该标签的所有XML数据
System.out.println(root.element("body").asXML());
} catch (Exception e) {
e.printStackTrace();
}
}
}
二、DocumentHelper 方式解析:实例测试类TestXML
package *;
import java.io.ByteArrayInputStream;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class TestXml {
/**
* @param args
*/
public static void main(String[] args) {
try {
// TODO Auto-generated method stub
//定义要解析的XML字符串
String transMessage = "<?xml version=/"1.0/" encoding=/"GBK/"?>"
+ "
"
+ ""
+ ""
+ ""
+ "" + "";
// 创建xml解析对象
// SAXReader reader = new SAXReader();
// 定义一个文档
Document document = null;
//将字符串转换为
// document = reader.read(new ByteArrayInputStream(transMessage
// .getBytes("GBK")));
document = DocumentHelper.parseText(transMessage);
// 得到xml的根节点(message)
Element root = document.getRootElement();
//定义子循环体的变量
Element ticket=null;
Iterator tickets = null;
for (tickets = root.element("body").element("ticketNotify").elementIterator(); tickets.hasNext();) {
ticket = (Element) tickets.next();
System.out.print(ticket.attributeValue("id")+" ");
System.out.print(ticket.attributeValue("dealTime")+" ");
System.out.println(ticket.attributeValue("status"));
}
//Element.asXML方法,获得包括该标签的所有XML数据
System.out.println(root.element("body").asXML());
} catch (Exception e) {
e.printStackTrace();
}
}
}
java saxreader 字符串_解析XML文件(字符串)的两种方法-----SAXReader 与 DocumentHelper...相关推荐
- java使用SAX接口解析xml文件
全栈工程师开发手册 (作者:栾鹏) java教程全解 java使用SAX接口解析xml文件.实现解析类,从xml解析开始到结尾,每一步均会触发对象的重载函数. 测试代码,将book1.xml改成你自己 ...
- SAXReader简单的解析xml文件
SAXReader简单的解析xml文件 工作中遇到了解析XML文件,简单的来记录一下 //获取sax解析器对象 SAXReader reader = new SAXReader(); //设置编码格式 ...
- [转载]VC轻松解析XML文件 - CMarkup类的使用方法
VC轻松解析XML文件 - CMarkup类的使用方法 VC解析XML文件的工具有很多,CMarkup, tinyXML,还有IBM的,MS的等等. 据说tinyXML很好,可能字符集问题,我编译不了 ...
- java整型转换为数组_基于java中byte数组与int类型的转换(两种方法)
java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形 ...
- 怎么在mac打开home文件夹? mac打开home文件夹的两种方法
今天小编给大家带来怎么在mac打开home文件夹? mac打开home文件夹的两种方法教程,那么具体该怎么打开呢?下面我们就来看看mac打开home文件夹的两种方法,需要的朋友可以参考下.记得收藏哦 ...
- Java框架开发基础-解析XML文件
认识XML |----XML编写要求: XML声明: 1.XML声明用于指明当前文件为XML文件,文件采用的XML版本和编码. 2.<?xml version="1.0" e ...
- Java解析XMl文件之SAX和DOm方法
如题,这两种方法的jar包都在jdk中,不需要下载. 先来说下目录结构: 首先建一个Peron类封装person.xml的属性:DomParseService和SaxParseService分别为两种 ...
- java成员变量怎么赋值_给成员变量赋值的两种方法
JAVA 跟C++ 差不多,给类里面的私有成员变量一般有两种方法: 一种是通过 成员函数 来赋值 一种是:通道构造函数来赋值 /* 我们一直在使用构造方法,但是,我们确没有定义构造方法,用的是哪里来的 ...
- [ASP.NET] 限制上传文件类型的两种方法(转)
通常,为了防止因用户上传有害文件(如木马.黑客程序)引发的安全性问题,Web程序都会对用户允许上传的文件类型加以限制.而本文将要介绍的就是如何在ASP.NET应用程序中利用Web Control的内置 ...
- python大漠游戏多开_防止程序多开的两种方法
[程序篇]防止程序多开的两种方法 http://bbs.cskin.net/forum.php?mod=viewthread&tid=105&fromuid=2446 (出处: CSk ...
最新文章
- 共阴极数码管编码表_数码管循环点亮的PLC控制——基本逻辑指令的应用
- 2维FFT算法实现——基于GPU的基2快速二维傅里叶变换
- iPhone 11全球供应紧张:何时补货未知
- 小鹏汽车CEO疑似隔空回应偷窃技术传闻;​苹果明年新款iPhone将使用增强版5nm芯片;Windows诞生35周年|极客头条...
- 贵州出台首部大数据地方法规 数据开放引入负面清单
- LIRe 源代码分析 5:提取特征向量[以颜色布局为例]
- 5G技术将如何改变我们的世界
- windows黑客编程系列(一):运行单一实例
- laravel 数据库迁移后增加字段
- androidx 填坑记
- SSL-ZYC 2133 腾讯大战360
- Bais(偏差)与Variance(方差)的区别
- 数据挖掘领域十大经典算法之—C4.5算法(超详细附代码)
- Python数据处理课程设计-房屋价格预测-代码
- SAP EWM仓储管理系统与自动化仓储硬件对接方案介绍
- audio type多种类型_使用tensorflow进行音乐类型的分类
- Oracle 12c 创建新用户报错 - ORA-65096
- linux(centos)du命令查看文件或目录的大小
- 论文中出现的 cf. i.e. s.t. e.g. w.r.t. et al. etc等英文缩写是什么意思
- cocos2d-x的初步学习二十三之模仿微信打飞机二