搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
酷酷是懒虫
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
如何在浏览器Web前端在线编辑PPT幻灯片?_前端实现可编辑 ppt
2
IDEA如何回退提交的git代码_idea git撤回提交
3
电脑安全模式怎么进?3种方式教会你!_电脑网络安全模式
4
智能合约漏洞之整型溢出_erc20智能合约整数溢出怎么解决
5
CDH集成Kerberos配置_cdh 的keytab 在哪里
6
LRU、LFU_lfu、lru
7
【Stable Diffusion】ComfyUI提示词预设插件(附插件)_comfyui风格提示词选择器
8
Python--pandas导入导出数据_pandas将含有nan数据的行导出
9
学习笔记——交通安全分析17
10
Android-13-BroadcastReceiver(广播接收者)_android 13 broadcastreceiver
当前位置:
article
> 正文
XML数据解析(循环遍历解析)_怎么解析xml中的循环体
作者:酷酷是懒虫 | 2024-08-11 20:52:13
赞
踩
怎么解析xml中的循环体
package
com.cdhy.hjzx.util;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import net.sf.json.JSONObject;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
/**
* 解析类
*
* @author Administrator
*
*/
public class SaxXML {
/**测试**/
// 解析开票成功后返回的xml字符串
/**
* <?xml version="1.0" encoding="UTF-8" standalone="no"?>
* <body><result>成功</result><djh>KP150817000066</djh><fplxdm>004</fplxdm>
* <kpzt>正常发票</kpzt><fpdm>1110098076</fpdm><fphm>65341107</fphm></body>
*/
/**
* <?xml version="1.0" encoding="gb2312" ?>
<result generated="1216266428640" vo_id="getOperStatus">
<result><operStatus>
<ch>0</ch><inUseC>0</inUseC><statusC>0</statusC><phone>_NA_</phone><ifLoginC>1</ifLoginC><oper>801</oper><setBusyC>false</setBusyC>
</operStatus>
</result>
* @param ss
* @return
*/
public static Map<String, String> parseResultXml(String ss) {
Document doc = null;
Map<String, String> map = new HashMap<String, String>();
try {
doc = DocumentHelper.parseText(ss); // 将字符串转为XML
Element employees = doc.getRootElement();// 根节点
for (Iterator i = employees.elementIterator(); i.hasNext();) {// 遍历下一节点
Element employee = (Element) i.next();
map.put(employee.getName(), employee.getText());
}
} catch (DocumentException e) {
e.printStackTrace();
}
return map;
}
/*循环解析XML将数据以json对象的形式返回*/
public static JSONObject parseResultXml2(String ss){
Document doc = null;
JSONObject jsob=new JSONObject();
try{
doc = DocumentHelper.parseText(ss);
/*1,得到XML字符串根节点*/
Element empRoot =doc.getRootElement();
/*根节点内容*/
jsob.put("rootVal", empRoot.getTextTrim());
/*如果根节点有属性*/
if(empRoot.attributeCount()>0){
/*获取根节点属性名属性值 属性名(key) 属性值(value)*/
for(int i=0;i<empRoot.attributeCount();i++){
/*获取根节点的属性名称和属性值*/
jsob.put(empRoot.attribute(i).getName(),empRoot.attribute(i).getStringValue());
}
}
/*遍历根节点获取子节点对象*/
for(Iterator root=empRoot.elementIterator();root.hasNext();){
/*通过根节点遍历子节点*/
Element emp1 = (Element)root.next();
/*遍历一次字节点则取字节点相应的值 KEY 节点名称 VALUE 节点值保存到JSON中*/
jsob.put(emp1.getName(), emp1.getText());
/*遍历第二层中子节点*/
for(Iterator emp1s=emp1.elementIterator();emp1s.hasNext();){
/*遍历子节点内容*/
Element employee = (Element) emp1s.next();
/*节点名称和节点内容以KEY VALUE的方式保存到JSON对象*/
jsob.put(employee.getName(), employee.getText());
}
}
}
catch(DocumentException e)
{
e.printStackTrace();
}
System.out.println(jsob);
return jsob;
}
//employees.attribute(0).getValue()
public static void main(String[] args) {
String xml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>"+
"<body><result>成功</result><djh>KP150817000066</djh><fplxdm>004</fplxdm>"+
"<kpzt>正常发票</kpzt><fpdm>1110098076</fpdm><fphm>65341107</fphm></body>";
String xml1="<?xml version=\"1.0\" encoding=\"gb2312\"?>"+
"<result generated=\"1216266428640\" vo_id=\"getOperStatus\">"+"成功"+"</result>";
String xml2="<?xml version=\"1.0\" encoding=\"gb2312\"?>"+
"<result generated=\"1216266428640\" vo_id=\"getOperStatus\"><operStatus>"+
"<ch>0</ch><inUseC>0</inUseC><statusC>0</statusC><phone>_NA_</phone><ifLoginC>1</ifLoginC><oper>801</oper><setBusyC>false</setBusyC>"+
"</operStatus></result>";
System.out.println(parseResultXml2(xml2).toString());
System.err.println(parseResultXml(xml).toString());
}
}
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/966044
推荐阅读
article
asus
华硕
开启
安全
启动
_华硕主板
开启
安全
启动
...
主板: 华硕B460现在很多地方都需要
开启
tpm2.0和
开启
安全
启动
,不仅是升级windows11,部分游戏为了加强反作...
赞
踩
article
【
数据结构
与
算法
】——
排序
算法
篇
_
自动
排序
的
数据结构
...
本文探讨了
排序
算法
的
重要性,特别是在数据管理和检索效率中
的
角色。分析了不同场景下选择不同
排序
算法
的
优势,如Hash用于快...
赞
踩
article
Enterprise
Architect
12
版本使用教程...
Enterprise
Architect
12
版本使用教程_enterprise architectenterprise...
赞
踩
article
手把手
教你做
赚钱
的
公众
号,
变现
简单
的
暴利
赚钱
项目...
2.内容定位和
公众
号名称尽量保持一致,让人一目了然
的
知道你
的
定位,比如,笑话。所以这类内容威力可想而知。这些内容
的
定位,...
赞
踩
article
海量数据
相似
数据查找方法(ANN):【
高维
稀疏
向量
的
相似
查找——
MinHash
, LSH, SimH...
本文探讨了
高维
稀疏
向量
和稠密
向量
的
相似
查找方法,包括
MinHash
、LSH、
SimHash
以及
Annoy
、
Faiss
等技...
赞
踩
article
2023/8/2 复现一个“基于Paddlecl
as
完成半导体晶圆图谱缺陷种类识别”的项目(自己
学习
...
根据置信度(scores),可以看出模型对于
'
LOC
'
类别的预测置信度最高(0.63691),其次是
'
Center
'
类别...
赞
踩
article
音频进阶学习
一
——
模拟信号
和
数字信号
...
所有软件的运行都得益于硬件上的突破,
数字信号
是从40年前就开始高速发展的领域。得益于硬件上从
一
开始的中规模集成电路,到大...
赞
踩
article
【
YOLOv8
改进-论文笔记】
SCConv
:
即插即用
的
空间
和
通道
重建卷积_
scconv
论文...
为
SCConv
(
空间
和
通道
重构卷积),以减少冗余计算并促进代表性特征学习。所提出的
SCConv
由两个单元组成:
空间
重构单...
赞
踩
article
全新发布:
LangGraph
开启
认知
架构
新纪元
...
LangGraph
是什么?它是一个用于构建和管理复杂Agent的框架,允许开发者通过直观的编程接口控制Agent的行为...
赞
踩
article
python
图片
文字
识别
_
python
文字
图像
识别
高精度...
1https://ai.baidu.com/ai-doc/OCR/Dk3h7yf8mpip install baidu-...
赞
踩
article
hive
时间
日期函数...
-- 1、
hive
取得当前日期
时间
:-- 1.1) 取得当前日期:select current_date();-- 1....
赞
踩
article
【
数据结构
】初识
数据结构
与
复杂度
总结
_
复杂度
和
数据结构
的
关系
...
数据结构
是计算机存储,组织数据
的
方式,指
的
是相互之间存在一种或多种特定
关系
的
数据元素
的
集合
数据结构
离不开算法,那算法是什...
赞
踩
article
Zookeeper
入门
到高
可用
(
HA
)...
上节:zookeeper基本操作1、概述
Zookeeper
是一个开源的分布式的,为分布式应用提供协调服务的Apache项...
赞
踩
article
ElasticSearch
+IK
分词器
的
安装
以及
使用
介绍_
elasticsearch
安装
ik
分词器
...
主要介绍
elasticsearch
的
安装
和基本
使用
规则,
ik
分词器
的
安装
和基本
使用
,
ik
分词器
自定义词库,自定义停用词库...
赞
踩
article
SpringBoot
整合
Redisson
...
个人博客纯净版
SpringBoot
整合
Redisson
| 代码搬运工
Redisson
简介
Redisson
是架设在Red...
赞
踩
article
Android
四大组件--
ContentProvider
详解_
android
contentprov...
一、相关
ContentProvider
概念解析:1、
ContentProvider
简介在
Android
官方指出的Andr...
赞
踩
article
鸿蒙笔记导航栏
,
路由
,
还有
axios
_鸿蒙
statebar
height 包含
了
statebar
和...
这源码说
了
,
tarbar可以给的参数有string
,
resource
,
customerbuild(这个是个回调函数)
,
或...
赞
踩
article
hive
中的
date
函数
_
hive
date
...
1,current
_
date
2,current
_
timestamp3,from
_
unixtime(unix
_
timest...
赞
踩
article
MNIST
模型
测试
_
mnist
在线
测试
...
:~/Documents/caffe-master$ ./build/tools/caffe.bin test -mod...
赞
踩
article
HDFS
读写
数据
流程图_
hdfs
读取
数据
过程图...
HDFS
的读
数据
流程:
HDFS
写
数据
流程:_
hdfs
读取
数据
过程图
hdfs
读取
数据
过程图 ...
赞
踩
相关标签
windows
算法
数据结构
pivot
优化
电话
工作
数据库
mysql
项目
人工智能
paddlepaddle
paddle
飞桨
学习
音视频
YOLO
论文阅读
SCConv
目标检测
架构
大数据
AI大模型
大模型
语言模型