java解析xml工具类[通俗易懂]
2023-06-13 09:11:41 时间
大家好,又见面了,我是你们的朋友全栈君。
public class XmlUtils {
/** * 解析xml数据 * */ public static Map<String,Object> parseXml(byte[] xmlBytes, String charset) {
SAXReader reader = new SAXReader(false);
InputSource source = new InputSource(new ByteArrayInputStream(xmlBytes));
source.setEncoding(charset);
Map<String,Object> map = new HashMap<String, Object>();
try {
Document doc = reader.read(source);
Iterator<Element> iter = doc.getRootElement().elementIterator();
while (iter.hasNext()) {
Element e = iter.next();
if (!e.elementIterator().hasNext()) {
map.put(e.getName(),e.getTextTrim());
continue;
}
Iterator<Element> iterator = e.elementIterator();
Map<String,String> param = new HashMap<String, String>();
while (iterator.hasNext()) {
Element el = iterator.next();
param.put(el.getName(),el.getTextTrim());
}
map.put(e.getName(),param);
}
}catch (Exception e) {
LogUtils.error("XmlParseError",e);
}
return map;
}
public static Map<String,String> parseXml(String xml) {
if (StringUtils.isBlank(xml)) {
return null;
}
Map<String,String> result = new HashMap<String, String>();
try {
Map<String,Object> map = parseXml(xml.getBytes("UTF-8"), "UTF-8");
for (String key:map.keySet()) {
Object value = map.get(key);
result.put(key, String.valueOf(value));
}
return result;
}catch (Exception e) {
LogUtils.error("parse_xml_error", e);
}
return null;
}
}
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143972.html原文链接:https://javaforall.cn
相关文章
- java解析xml方法_详解Java解析XML的四种方法
- java工具类-Java对象转换成Map
- java的运行环境是什么_Java运行环境是什么
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- XML格式化工具类(java)
- 【2022最新Java面试宝典】—— SpringBoot面试题(44道含答案)
- java 生成xml dom4j_Java生成xml——DOM4J生成
- Java XML解析工具类
- java dom4j生成xml格式化_Java DOM4J方式生成XML的方法「建议收藏」
- java运行环境配置(jdk配置)Java博客 2 年前 桃李Taoli
- java json转xml 工具类_xml与json
- 使用axis调用WebService,Java WebService调用工具类
- 【源码阅读计划】浅析 Java 线程池工作原理及核心源码
- 贼 TM 好用的 Java 工具类库
- 【Android 安全】DEX 加密 ( Java 工具开发 | apk 文件签名 )
- 字节数组用txt文件保存Java工具类详解编程语言
- java读写文件操作工具类详解编程语言
- XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax详解编程语言
- Java 日期比较大小详解编程语言
- 策略新策略:使用Redis来实现Java过期失效(redisjava过期)
- 数据处理Java中Redis数据过期处理技术(redisjava过期)
- 数据处理使用Java处理Redis中的过期数据(redisjava过期)
- 数据库的操作Java与MySQL搭配:完美数据库操作(java对mysql)
- Linux系统如何配置Java?(linux下配置java)
- _home让Linux下Java更有效:更新Java_Home(linux更改java)
- 程序Oracle调用Java程序的实现方法(oracle调用java)
- 版本Linux查看Java版本的简单方法(linux 查看java)
- Java Redis实例学习与应用(java redis实例)
- java实现http请求工具类示例