package com.cn.util;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* XML解析
*/
public class XMlUtil {
public static void main(String[] args) throws Throwable {
String reString = XMlUtil.getXmlString("G:\\XMLFile1.xml");
List<Map<String, Object>> list = (List<Map<String, Object>>) XMlUtil.readXMLByString(reString,"datalist/data/bill_base");
for (Map<String, Object> map : list) {
System.out.println(map.get("bill_uuid"));
}
}
/**
* 节点解析
* @return List<Map<String, Object>>
* @param XML格式的字符串
* @throws Throwable
*/
@SuppressWarnings("unchecked")
public static List<?> readXMLByString(String xmlStr,String node) throws Throwable {
List<Map<String, Object>> result = new ArrayList<Map<String,Object>>();
Map<String, Object> map = new HashMap<String, Object>();
try {
Element root =DocumentHelper.parseText(xmlStr).getRootElement();
List list = root.selectNodes(node);
for (int i = 0; i < list.size(); i++) {
Element ele = (Element)list.get(i);
for ( Iterator j = ele.elementIterator(); j.hasNext(); ) {
Element el = (Element) j.next();
map.put(el.getName(), el.getText());
}
}
result.add(map);
} catch (Exception e) {
throw e;
}
return result;
}
/**
* 节点解析
* @return List<Map<String, Object>>
* @param XML文件路径
* @throws Throwable
*/
@SuppressWarnings("unchecked")
public static List<?> readXMLByFilePath(String path,String node) throws Throwable {
List<Map<String, Object>> result = new ArrayList<Map<String,Object>>();
Map<String, Object> map = new HashMap<String, Object>();
try {
Document document = getXmlDocument(path);
Element root = document.getRootElement();
List list = root.selectNodes(node);
for (int i = 0; i < list.size(); i++) {
Element ele = (Element)list.get(i);
for ( Iterator j = ele.elementIterator(); j.hasNext(); ) {
Element el = (Element) j.next();
map.put(el.getName(), el.getText());
}
}
result.add(map);
} catch (Exception e) {
throw e;
}
return result;
}
/**
* 读取XML文件转成字符串
* @param 文件路径
* @return 读取的字符串
* @throws Exception
*/
public static String getXmlString(String path) throws Exception {
String result = "";
try {
Document document = getXmlDocument(path);
result = document.asXML();
} catch (Exception e) {
throw e;
}
return result;
}
private static Document getXmlDocument(String path) throws Exception{
Document document = null;
try {
File xmlFile=new File(path);
SAXReader saxReader = new SAXReader();
document = saxReader.read(xmlFile);
} catch (Exception e) {
throw e;
}
return document;
}
}
分享到:
相关推荐
XmlUtils JS操作XML工具类 ** * 加载xml文件,参数: * @param {string} xmlPath:加载的xml文件路径; * @return {Object} true 正常加载; false 加载失败 *
本文将详细讲解如何使用Java实现XML到Map以及Map到XML的一键转换,并介绍一个已封装好的工具类`EasyXmlUtil`。 首先,XML到Map的转换涉及到XML的解析。在Java中,我们可以使用`javax.xml.parsers....
xml工具类
* 本类是专门解析XML文件的,主要用于为系统读取自己的配置文件时提供最方便的解析操作 * @author HX * */ public class XmlManager { /** * 得到某节点下某个属性的值 * @param element 要获取属性的...
java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析...
本文将详细介绍如何创建一个Java通用的XML解析工具类,以便于在项目中复用和简化XML处理。 首先,我们来看DOM解析方式。DOM解析器会将整个XML文档加载到内存中,形成一棵树形结构,便于对XML进行随机访问。以下是一...
提供2个方法: (1)XMLUtil.getValue(String tag,String attr); 获取指定tag的指定attr的值。...两个函数的返回值是ArrayList,每个XMLResult包括获得的值/内容,对应tag在整个xml结构中的位置。 复出了,请大家支持。
json与xml互相转换工具类
基于安卓的XML工具类
首先,`tinyxml.h`是TinyXml的核心头文件,它包含了所有的类定义和接口声明。其中最主要的类有以下几个: 1. **TiXmlDocument**: 代表整个XML文档,可以加载XML文件或者创建一个新的XML文档。 2. **TiXmlElement**:...
本篇文章将深入探讨如何使用自定义的工具类`AppUtil`来简化JSON和XML的生成过程。 首先,JSON是一种轻量级的数据交换格式,它基于JavaScript语法,但独立于语言,易于人阅读和编写,同时也易于机器解析和生成。JSON...
本篇文章将详细介绍Java中如何实现XML和JSON的相互转换,并提供一个名为`XmlToJson.java`的工具类作为参考。 首先,XML是一种结构化的数据表示方式,它以树形结构存储数据,易于人类阅读和编写,同时也易于机器解析...
在本教程中,我们将深入探讨如何使用DOM4J来解析XML文件,并创建一个无敌连环解析工具类。 首先,我们需要了解XML的基本概念。XML(可扩展标记语言)是一种标记语言,常用于数据交换和存储。它的结构化特性使其非常...
本文将详细介绍如何使用工具类进行XML与实体类的转换,并探讨相关依赖和实现方法。 首先,XML转换为Java实体类的基本原理是通过解析XML文档,创建对应的Java对象。Java中常用的库有JAXB(Java Architecture for XML...
实现的一个简单的基于java 的,可以在xml和json之间相互转换的工具类,因为实在没有积分了,所以要点积分,希望理解~
本文将详细介绍基于Pull解析器的XML解析生成工具类的实现,以及如何将XML文件转换为对象和将对象转换为XML文件。 1. **XML解析器的初始化** 在使用Pull解析器之前,首先需要通过`XmlPullParserFactory`工厂类创建`...
Java常用工具类XML工具类、数据验证工具类知识点介绍 一、XML工具类 XML工具类是Java中的一种常用工具类,用于处理XML文档。XML工具类提供了多种方法来处理XML文档,例如解析XML文档、转换XML文档、验证XML文档等...
【JAVA对象序列化保存为XML文件的工具类】 在Java编程中,对象序列化是一种将对象的状态转换为字节流的过程,以便可以存储或在网络上传输。而在反序列化时,这个字节流又可以恢复为原来的对象。Java提供了一个方便...
JAXB是Java开发中处理XML的强大工具,通过注解和API实现了XML与Java对象的自动转换。了解并熟练掌握JAXB,能够提升XML数据处理的效率和代码的可读性。在实际项目中,结合JAXB与XML Schema,可以构建更健壮、易于维护...