解析xml 工具 做个笔记
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
public class XmlUtil {
private static Logger log = Logger.getLogger(XmlUtil.class);
public final static String DEFAULT_ID_KEY = "defalut";
public final static String ID = "id";
/**
* 初始化 filePath 指定的 XML 文件
*
* @param filePath
* @return
* @throws Exception
*/
public static Map<String,Map<String,String>> loadXml(String filePath) throws Exception {
return loadXml(new FileInputStream(filePath));
}
/**
* 初始化 InputStream 指定的 XML 输入流
*
* @param in
* @return
* @throws Exception
*/
public static Map<String,Map<String,String>> loadXml(InputStream in) throws Exception {
Map<String,Map<String,String>> configMap = new HashMap<String,Map<String,String>>();
try {
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(in);
Element root = doc.getRootElement();
List rootList = root.getChildren();
for (int i = 0; i < rootList.size(); i++) {
Element rootEle = (Element) rootList.get(i);
List childList = rootEle.getChildren();
if (childList != null && childList.size() > 0) {
Attribute attribute = rootEle.getAttribute(ID);
String idValue = null;
if (attribute == null) {
idValue = DEFAULT_ID_KEY;
} else {
idValue = attribute.getValue();
}
if (idValue == null || "".equals(idValue)) {
idValue = DEFAULT_ID_KEY;
}
Map<String,String> itemMap = null;
if (configMap.containsKey(idValue)) { // 如果已经存在 Map
itemMap = configMap.get(idValue);
} else { // 如果不存在就新建
itemMap = new HashMap<String,String>();
configMap.put(idValue, itemMap);
}
for (int j = 0; j < childList.size(); j++) {
Element childEle = (Element) childList.get(j);
Attribute childAttribute = childEle.getAttribute(ID);
String idKey = null;
if (childAttribute == null) {
idKey = DEFAULT_ID_KEY;
} else {
idKey = childAttribute.getValue();
}
itemMap.put(idKey, childEle.getText());
}
}
}
log.info("初始化 XML 配置文件成功");
} catch (Exception ex) {
log.error("初始化 XML 配置文件失败,原因:" + ex);
throw ex;
}
return configMap;
}
}
分享到:
相关推荐
* 本类是专门解析XML文件的,主要用于为系统读取自己的配置文件时提供最方便的解析操作 * @author HX * */ public class XmlManager { /** * 得到某节点下某个属性的值 * @param element 要获取属性的...
java通用解析XML工具类
XML解析工具类
java一键xml转map,一键map转xml工具类,代码已封装好,一个方法即可将两种格式文本互转,注意是互转,网上很多只有xml转map,并不支持map转xml
java Dom4j 无敌连环解析XML工具类
实现的一个简单的基于java 的,可以在xml和json之间相互转换的工具类,因为实在没有积分了,所以要点积分,希望理解~
java解析xml文件生成json对象,方便操作,下载后导入eclipse,加入相关的jar包后加载至类路径便可测试该工具类,很好用!!!
压缩包内包含jaxen-1.1.1.jar和dom4j-1.6.1.jar两个jar包文件。这两个文件用于Java解析XML文件。涵盖了Java解析XML文件的主要类
NULL 博文链接:https://lxjtsoftware.iteye.com/blog/566852
本人没分了,特别来分享一下,通用的XML读写工具类,同志们下下绝对不后悔
为了解析HTML,然后学习解析XML,这个是以前写的工具类,附带XML
该工具类包含了一个类两个Jar,下载下来可直接使用,无需其他工具类支撑
解析XML的好帮手,大家来看看吧,包你用得着,附带JAR包使用说明
可以很方便的将xml数据格式转换成java类
解析xml,生成java类,解析转换工具帮手,希望对大家有用
Java解析和生成XML,包含讲解以及工具类,注解等。。。。
java解析AndroidManifest.xml文件。 输入xml文件路径。 输出APK包名,入口点,Activity列表,权限列表。
本实例主要是通过json-libjar包中的工具类进行操作,简单实现了xml字符串和json字符串之间的转化,xml文件和json文件的转化。而且还兼容jsonObject和jsonArray两种格式,自己摸索,记录一下以便学习。
基于Dom4j的Xml解析与组装项目工具类.
xml 与 bean 互相转换 工具类 1、bean类的属性需要遵守BEAN规范,否则 无法 读存BEAN值。 2、bean类的属性如果 是集合 只支持数组以及List、Map、Set。 3、bean类属性(boolean除外)前面两个字母要么全部小写,要么...