进一步学习对于XML文档的操作,用Dom4j进行XML文档的解析,与大家分享代码!
<?xml version="1.0" encoding="GB2312"?>
<ZXTRJXLH>
<STATUS>Y</STATUS>
<NSRSBH>110108722615277</NSRSBH>
<NSRINFO>
<NSRMC>无</NSRMC>
<SWJGDM>无</SWJGDM>
</NSRINFO>
</ZXTRJXLH>
package dom4j.xml;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.StringReader;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4jParseXml {
private static String readXml(String url) throws IOException{
//读取xml文件
FileInputStream fis = new FileInputStream(url);
byte[] b = new byte[1024];
int n = 0;
String s = "";
StringBuffer sb = new StringBuffer();
while((n=fis.read(b))!=-1){
s = new String(b,0,n);//把字节数组中所读取到的字节构建String,
//防止最后一次的多读
sb.append(s);
}
return sb.toString();
}
private static String[] parseXml(String xml) {
String flag[] = { "", "", "", "", "" };
try {
SAXReader reader = new SAXReader();
reader.setEncoding("GBK");
Document doc = reader.read(new StringReader(xml));
Element root = doc.getRootElement();
List rootList = root.elements();
if (rootList.size() > 0) {
Element element = (Element) root.element("STATUS");
flag[0] = element.getText();
element = (Element) root.element("NSRSBH");
flag[1] = element.getText();
List list = root.elements("NSRINFO");
if (list.size() > 0) {
for (int k = 0; k < list.size(); k++) {
Element ele = (Element) list.get(k);
// 纳税人名称
element = (Element) ele.element("NSRMC");
flag[2] = element.getText();
// 税务机关代码
element = (Element) ele.element("SWJGDM");
flag[3] = element.getText();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
public static void main(String[] args) throws IOException {
String url = "D:\\myxml.xml";
String s = Dom4jParseXml.readXml(url);
String[] ret = Dom4jParseXml.parseXml(s);
System.out.println(ret[1]);
}
}
分享到:
相关推荐
使用DOM解析XML的基本步骤如下: 1. 创建DocumentBuilderFactory实例。 2. 使用DocumentBuilderFactory创建DocumentBuilder实例。 3. 使用DocumentBuilder的parse()方法解析XML文件,得到Document对象。 4. 通过...
5. **事件驱动解析(SAX)**:除了传统的DOM解析外,DOM4J还支持SAX解析器,这种解析方式适用于处理大型XML文件,因为它不需要一次性加载整个文档到内存。 6. **Namespace支持**:DOM4J提供了对XML命名空间的全面...
Java中使用Dom4j解析XML文件的方法教程 domest4j是一个Java的XML API,性能优异、功能强大、易于使用。下面我们将学习如何使用Dom4j解析XML文件。 为什么使用Dom4j? Dom4j是一个基于Java的XML API,具有高性能...
在本文中,我们将深入探讨如何使用DOM4J解析XML文件,并通过一个具体的代码实例来演示其实现过程。 首先,让我们理解XML解析的基本概念。XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于...
DOM4J是一个强大的Java库,专门用于解析XML文档。它提供了简单易用的API,使得开发者可以更加方便地处理XML数据。DOM4J的核心优势在于它的面向接口编程设计,这使得它能够在不同的解析机制间灵活切换,如DOM、SAX和...
Dom4j解析Xml文件源码 源码描述: 一、源码介绍 通过dom4j解析自定义xml文件 二、主要功能 自定义xml文件,自定义实体,通过dom4j解析出该xml的demo 三、注意事项 开发环境为jdk1.8,无数据库
DOM4J具有性能优异、功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的api文档来解析xml,dom4j是一套开源的api。实际项目中,往往选择dom4j来作为解析xml的利器
无论是读取XML文件,解析XML字符串,还是创建、修改和遍历XML结构,DOM4J都提供了简洁的接口,极大地简化了开发者的工作。在实际的开发中,掌握DOM4J的使用,能够帮助你更有效地处理XML数据,提高代码的可维护性和...
Java DOM4J解析XML是一种常见的处理XML文档的技术,它提供了灵活且高效的API,使得开发者能够方便地读取、写入、修改以及操作XML文件。DOM4J是Java中一个非常强大的XML处理库,它结合了DOM、SAX和JDOM的优点,同时也...
Java提供了多种解析XML的API,包括SAX(Simple API for XML)、DOM(Document Object Model)以及DOM4J。下面我们将详细探讨这些解析方式及其在实际开发中的应用。 1. SAX解析器: SAX是一种基于事件驱动的解析器,...
在这个例子中,`BeanFactory`使用DOM4J的`SAXReader`来解析XML文档,获取`service-class`和`dao-class`下的所有元素。这些元素代表了工厂需要生产的对象,即接口的实现类。工厂将创建的对象存储在一个Map中,以便...
通过DOM4J解析XML字符串是Java开发中处理XML数据的常见方法。DOM4J是一个非常灵活的用于处理XML、HTML和XSLT的Java库,它提供了丰富的API来操作XML文档,包括创建、读取、修改和遍历XML文档。在本文中,我们将深入...
在“jar包执行20190331.rar”文件中,可能包含了一个Java项目,该项目使用DOM4J库解析XML文件并执行相关业务逻辑。执行此类项目通常涉及以下步骤: 1. 将jar包解压,找到主类(包含main方法)。 2. 使用Java命令行...
在Java中解析XML文件,可以使用DOM4J库的`SAXReader`类来读取XML文档,并通过`Document`类来操作XML结构。例如,以下代码展示了如何使用DOM4J解析XML文件并获取元素的属性值: ```java SAXReader reader = new ...
1. **XML解析**:DOM4J可以读取XML文件并将其转换为DOM树(Document Object Model),这是一种以树形结构表示XML文档的方式。解析过程中,DOM4J会将XML文档的每一个元素、属性、文本节点等都表示为对象,便于后续...
在提供的视频资源"17-dom4j解析xml文档(增删改查).avi"中,可能详细展示了这些操作的步骤和示例,观看该视频将进一步加深你对DOM4J操作XML的理解。记得实践是检验理论的最好方式,动手操作会让你更好地掌握这些知识...
3. 解析XML文档,触发事件,触发相应的事件处理函数。 4. 事件处理函数中完成对XML数据的解析和处理。 ### 结论 DOM4J是一个强大的Java XML API,支持XML的读写、搜索、修改等功能,它通过SAXReader对象读取XML...
本篇文章将深入探讨如何使用Dom4j,一个流行的Java库,结合XPath来解析XML文件中的路径表达式,同时阐述相对路径和绝对路径的匹配原则。 首先,我们要了解Dom4j库。Dom4j是一个灵活且高效的处理XML的Java库,它提供...
使用 dom4j 将 XML 文档解析为我自己的格式 格式: 私人字符串名称; 私有字符串值; 私人列表 childList; private Map<String> propMap = new HashMap(); 意义 将 XML 文档对象转换成这个格式对象(XmlElement...