`
luogen33
  • 浏览: 83781 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java 解析zip中的xml

 
阅读更多
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

/**
* 解析zip文件的工具类
*
* @author Administrator
*
*/
public class ZipReadXmlUtils {

/**
* 获得要操作的xmlPath下面 ,所有nodeName节点的值.
*
* @param zipFileName
*            zip文件
* @param findFileName
*            zip文件中要操作的xml文件
* @param nodesXmlPath
*            要操作的xmlPath
* @param nodeName
*            要获得值的节点
* @return 要操作的xmlPath下面 ,所有nodeName节点的值.
*/
public static List<String> getNodesValues(String zipFileName,
String findFileName, String nodesXmlPath, String nodeName) {
ZipFile zipFile = null;
InputStream is = null;
try {
zipFile = new ZipFile(zipFileName);
Enumeration entries = zipFile.entries();
while (entries.hasMoreElements()) {
ZipEntry entry = (ZipEntry) entries.nextElement();
if (findFileName.equals(entry.getName())) {
is = zipFile.getInputStream(entry);

}
}
} catch (IOException e) {
// 在此处可以做日志
e.printStackTrace();
}
SAXReader saxReader = new SAXReader();
try {
Document document = saxReader.read(is);
List<Element> list = document.selectNodes(nodesXmlPath);
Iterator iter = list.iterator();
Element element;
Iterator it;
List<String> noValue = new ArrayList<String>();
while (iter.hasNext()) {
element = (Element) iter.next();
it = element.elementIterator(nodeName);
while (it.hasNext()) {
Element e = (Element) it.next();
noValue.add(e.getText());
}

}
return noValue;
} catch (DocumentException e) {
// 做日志
e.printStackTrace();
} finally {
if (zipFile != null) {
try {
zipFile.close();
} catch (IOException e) {

e.printStackTrace();
}
}
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}
}
分享到:
评论

相关推荐

    Java解析XML.zip

    总的来说,“Java解析XML.zip”提供的这两个库为Java开发者提供了强大的XML处理能力,使他们能够在Java应用程序中方便地解析、操作和查询XML数据。通过学习和掌握DOM4J和JAXEN,开发者可以更高效地处理XML任务,提升...

    java解析zip文档,解决解析zip中解析xml和html文档流断的方法.pdf

    在Java编程中,解析ZIP文档是一项常见的任务,特别是在处理包含多种文件格式如XML和HTML的压缩包时。本文将深入探讨遇到的“解析zip中解析xml和html文档流断”的问题,以及如何解决这个问题。 首先,问题的核心在于...

    java心电图xml解析.zip

    - 数值转换:XML中的文本数据需要转换为适当的数值类型,如浮点数或整数。 - 错误处理:处理可能存在的XML格式错误,确保解析过程的健壮性。 在源代码中,可能会看到使用Java的`javax.xml.parsers`和`org.w3c.dom`...

    JavaXml.zip_java xml_javaXML_java解析xml_文档解析

    在Java中,有多种方式可以解析XML文档,包括DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)。下面我们将详细探讨这些解析方法以及相关的API。 1. DOM解析器:DOM解析器...

    java实现xml解析word文档代码实现

    document.xml 文件是基于 XML 格式的,可以使用 Java 中的 DOM 或 SAX 解析器来解析该文件。 3. 书签的 XML 结构 在 Word 文档中,书签是使用 `&lt;w:bookmarkStart&gt;` 和 `&lt;w:bookmarkEnd&gt;` 标签来表示的,其中 `...

    java jar包 ZIp压缩解压 数据库连接驱动 XML解析

    综上所述,Java开发中,了解如何创建和管理JAR包,处理ZIP压缩解压,解析XML文档,以及使用数据库连接驱动是十分重要的技能。这些知识点构成了Java开发中的基础部分,为实现功能丰富的应用程序提供了必要的工具和...

    XML How to Program-Java.zip_XML java_java how to program_java xm

    "XML How to Program - Java.zip"可能是一个包含关于如何使用Java处理XML的教程或参考材料。 Java API for XML Processing (JAXP) 是Java平台的标准部分,它提供了处理XML的基本工具。JAXP允许开发者进行XML解析、...

    xml-apis.zip_JAVA XML_java xml_xml_zip

    "xml-apis.zip" 中的"xml-apis.jar" 文件是XML API的核心库,包含了多个与XML处理相关的Java包,如javax.xml、org.w3c.dom和org.xml.sax等。这些包提供了各种接口和类,帮助开发者执行以下任务: 1. **解析XML**:...

    xml解析和json解析.zip

    DOM解析将整个XML文档加载到内存中,形成一棵树形结构,允许开发者以任意顺序访问和修改文档的任何部分。这种方式适合小到中等大小的文档,但对大型文档可能导致内存消耗过大。相反,SAX解析是事件驱动的,只在读取...

    基于java的开发源码-用jdom解析xml.zip

    基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发源码-用jdom解析xml.zip 基于java的开发...

    Xml.zip_JAVA读取xml_XML读取_java_saxreader

    SAXReader是JDOM库中的一个类,它实现了SAX解析器接口,适用于处理大型XML文档,因为它不会将整个XML文档加载到内存中,而是采用事件驱动的方式,逐个处理XML元素。这种方式对内存消耗较小,适合处理大文件。 首先...

    poi.zip java读取excel文件

    Java 读取 Excel 文件是许多开发任务中的常见需求,Apache POI 是一个广泛使用的开源库,专门用于处理 Microsoft Office 格式的文件,包括 Excel。在本案例中,提供的压缩包 "poi.zip" 包含了两个子文件:poi-bin-...

    java用jdom解析xml.zip

    在Java中,解析XML文档有多种库,其中JDOM是一个纯Java的API,专为处理XML而设计。本教程将详细介绍如何使用JDOM库来解析XML文档。 1. **JDOM简介** JDOM是Java Document Object Model的缩写,它提供了一种高效、...

    Notepad(带插件),支持解析java和xml

    (1) 解压Xml Tools 2.4.8 Unicode.zip,关闭Notepad++ (2) 将xmltools子文件夹下的XMLTools.dll拷贝至Notepad++的plugins子文件夹 (3) 将ext_libs子文件夹下的所有dll文件拷贝至Notepad++的根目录(与notepad++.exe...

    Java解析pdf,zip,doc等格式文档

    Java作为一种多用途的编程语言,提供了丰富的库和工具来解析PDF、ZIP、DOC和XLS等格式的文件。下面将详细介绍这些格式的解析方法。 首先,PDF(Portable Document Format)是一种用于存储和交换文档的格式,由Adobe...

    xmljava.zip

    在"xmljava.zip"这个压缩包中,我们可以预想它包含了与使用Java处理XML相关的代码示例或项目。 XML的基本结构由元素、属性、文本内容、注释和处理指令组成。元素是XML文档的核心,它们定义了数据的结构。属性用于为...

    Java实现PDF读写(Itext)与解析XML读写(Dom4j)

    2、将PDF文件压缩成ZIP文件 3、生成一个PDF文件D:\\zhouyl\\FYImagePdf.pdf,将“D:\\zhouyl\\1234.png”图片放在第一页上,将“D:\\zhouyl\\1111.png”图片放在第二页上 并在每一页上面标注一下文字,说明是第几...

    java XStream xml解析 jar包.zip

    在"java XStream xml解析 jar包.zip"中,包含了XStream库的不同版本和依赖库,这将帮助我们理解和使用XStream进行XML操作。 1. **XStream介绍**: - XStream是一个开源项目,由Joe Walnes创建,现在由XStream ...

    java_xml_pack-summer02_01.zip_XML java_document XML API_java xm

    在Java中,处理XML的主要API包括JAXB(Java Architecture for XML Binding)、DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)。这些API提供了对XML文档的各种操作方法,...

    xml解析.zip

    在编程语言中,如Java,有多种库可以进行XML解析。例如,Java的DOM解析器有JDom、Apache的Xerces,而SAX解析器则有Java内置的SAXParserFactory。Python有ElementTree库支持DOM和SAX解析,而Python的lxml库提供了更...

Global site tag (gtag.js) - Google Analytics