一、用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/"?><message>"
+ "<body>"
+ "<ticketNotify>"
+ "<ticket id=/"6000012007051000000231/" dealTime=/"20070510165423/" status=/"0000/" message=/"成功,系统处理正常/"/>"
+ "<ticket id=/"6000012007051000000232/" dealTime=/"20070510165424/" status=/"2012/" message=/"禁止倍投/"/>"
+ "</ticketNotify>" + "</body></message>";
// 创建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/"?><message>"
+ "<body>"
+ "<ticketNotify>"
+ "<ticket id=/"6000012007051000000231/" dealTime=/"20070510165423/" status=/"0000/" message=/"成功,系统处理正常/"/>"
+ "<ticket id=/"6000012007051000000232/" dealTime=/"20070510165424/" status=/"2012/" message=/"禁止倍投/"/>"
+ "</ticketNotify>" + "</body></message>";
// 创建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();
}
}
}
分享到:
相关推荐
本文将详细介绍XML解析文件的两种主要方式:SAX(Simple API for XML)和DOM(Document Object Model)。 **1. DOM解析** DOM解析方式是将整个XML文档加载到内存中,构建一个树形结构,称为DOM树。这个树的每个...
有两种主要方法来解析XML中的特殊字符: **方法一:使用实体引用** 实体引用是XML中最常见的处理特殊字符的方式。当你需要在XML文档中插入特殊字符时,可以使用对应的实体引用。比如,如果你想在文本中包含一个...
### 解析XML文件(字符串)的两种方法 在软件开发过程中,XML作为一种常见的数据交换格式,在数据传输和存储中扮演着重要角色。因此,能够高效地解析和操作XML文件是必不可少的能力之一。本文将详细介绍使用Java...
在给定的文件中,我们可以看到使用 JavaScript 解析 XML 文件的两种方法:使用 DOMParser 对象和使用 ActiveXObject 对象。 使用 DOMParser 对象 DOMParser 对象是 Mozilla 浏览器中的一种对象,用于将 XML 字符串...
常见的解析方式有DOM(Document Object Model)和SAX(Simple API for XML)两种。DOM解析器会将整个XML文档加载到内存中,形成一个树形结构,适合小规模数据处理;SAX解析器则是事件驱动的,逐行读取XML,适合处理...
根据提供的文件信息,本文将详细解释SAP系统中如何解析XML文档,并将其内容提取到内部表中的过程。此过程涉及到了ABAP编程语言的具体应用,包括数据结构定义、数据提取逻辑以及与SAP系统的交互。 ### SAP 解析 XML ...
解析XML主要有两种方法:DOM(Document Object Model)和SAX(Simple API for XML)。 1. DOM解析: DOM解析器将整个XML文档加载到内存中,创建一个树形结构,允许开发者通过节点遍历和操作XML数据。例如,`...
在Android应用中,我们通常使用两种方式来解析XML:DOM(Document Object Model)解析器和SAX(Simple API for XML)解析器。 1. DOM解析: DOM解析器将整个XML文件加载到内存中,形成一个树形结构,可以方便地遍历...
解析器分为两种主要类型:DOM(Document Object Model)和SAX(Simple API for XML)。DOM一次性加载整个XML文档到内存,适合小型XML文件;而SAX是事件驱动的,逐行读取,适用于处理大型文件。 JDOM是Java中一个...
XML学习笔记(包括Java的两种解析XML的方法)。 XML基础语法的介绍,DTD的介绍和使用。 可快速入门,也可当手册使用。
首先,Java提供了两种主要的API来处理XML:DOM(文档对象模型)和SAX(简单API for XML)。DOM解析器会将整个XML文件加载到内存中,形成一个树形结构,适合处理小到中等规模的XML文档。而SAX解析器采用事件驱动的...
XML解析通常分为两种主要方式:DOM(Document Object Model)和SAX(Simple API for XML)。DOM解析器会将整个XML文档加载到内存中,形成一个树形结构,方便对数据进行随机访问;而SAX解析器则采用事件驱动的方式,...
在解析XML文件时,JDOM提供了SAXBuilder和DOMBuilder两种方式。SAXBuilder基于事件驱动,适用于处理大型XML文件,因为它占用较少的内存。DOMBuilder则一次性加载整个XML到内存,适合小型文件,便于进行快速访问。 ...
本文将详细介绍如何使用两种流行的方法——`MiniDom`和`ElementTree`来解析XML文件。 #### 1. 通过 MiniDom 库解析 XML 文件 `MiniDom`是Python标准库中的一部分,它提供了DOM(Document Object Model)接口,允许...
以下是两种方法: 1. DOM生成:构建Document对象,添加元素和属性,然后使用Transformer输出到文件。 2. StreamWriter(Java的javax.xml.stream.*包):创建XMLStreamWriter,然后顺序写入元素和属性,最后关闭流。...
在处理XML文件时,我们通常会遇到两种主要的解析方式:DOM(Document Object Model)和SAX(Simple API for XML)。DOM将整个XML文档加载到内存中,形成一个树形结构,方便进行遍历和修改。而SAX则采用事件驱动模型...
解析XML主要有两种方式:DOM(Document Object Model)和SAX(Simple API for XML)。 1. DOM解析:它将整个XML文档加载到内存中,形成一个树形结构。每个节点代表XML文档的一个部分,可以通过遍历节点来访问和修改...
XML解析分为两种主要类型:DOM解析和SAX解析。DOM解析会将整个XML文档加载到内存中形成一个树形结构,允许任意位置的访问,但消耗较大内存。SAX解析则采用事件驱动的方式,逐行读取XML文件,只在需要时处理特定事件...