1.相关jar引入
<dependency>
<groupId>xom</groupId>
<artifactId>xom</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>1.4.01</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
2.代码引入
String result = xmlStrToJsonStr("<?xml version=\"1.0\" encoding=\"utf-8\"?><root><!-- 处理结果代码(AA成功AE失败) --><processResultCode>AA</processResultCode><!-- 处理结果说明 --><processResult>成功</processResult><returnContents><returnContent><!--机构代码--><orgCode>机构代码</orgCode><!--院区代码--><districtCode>院区代码</districtCode><!--科室代码--><deptCode>科室代码</deptCode><!--科室名称--><deptName>科室名称</deptName><!--科室级别--><deptGrade>科室级别</deptGrade><!--上级科室代码--><upperDeptCode>上级科室代码</upperDeptCode><!--上级科室名称--><upperDeptName>上级科室名称</upperDeptName><!--病区代码--><wardCode>所在病区</wardCode><!--病区名称--><wardName>所在病区</wardName><!--科室属性--><deptAttr>科室属性</deptAttr><!--核定床位数--><checkBedCount>核定床位数</checkBedCount><!--有效标志--><validFlag>有效标志</validFlag><!--拼音首码--><spellCode>拼音码</spellCode><!--五笔音首码--><wbzxCode>五笔音首码</wbzxCode><!--科室类型代码--><deptTypeCode>科室类型代码</deptTypeCode><!--科室类型名称--><deptTypeName>科室类型名称</deptTypeName><!--科室特殊标记--><specialDeptCode>科室特殊标记</specialDeptCode><!--联系电话--><deptPhone>联系电话</deptPhone><!--科室物理地址--><deptLocation>科室物理地址</deptLocation><!--科室简称--><deptShortName>简称</deptShortName><!--备注--><remark>备注</remark><!--科室简介--><deptIntro>科室简介</deptIntro><!--科室别名--><deptAlias>科室别名</deptAlias><!--专业科室代码--><professionalDeptCode>专业科室代码</professionalDeptCode><!--专业科室名称--><professionalDeptName>专业科室名称</professionalDeptName></returnContent></returnContents></root>");
result = xmlSerializer.read(result).toString();
JSONArray array = JSON.parseArray("[]");
JSONObject jsonObject = JSON.parseObject(result);
//获取Array数组
Object json = jsonObject.get("returnContents");
if (json instanceof JSONObject) {
array.add(jsonObject.getJSONObject("returnContents").getJSONObject("returnContent"));
}
if (json instanceof JSONArray) {
array = jsonObject.getJSONArray("returnContents");
}
//转换成List<实体类对象>
List<实体类> resultList = array.toJavaList(实体类.class);
存在多层级需要转为数组
//投机取巧的方法、参考一下就好,再需要变为数据加一个对象,后面再把对象删除。
result3与上面result值一样
Map<String, String> placeTag = new HashMap<>();
placeTag.put("",1");
for (String key : placeTag.keySet()) {
result3 = result3.replaceAll(key, placeTag.get(key));
}
result3= xmlStrToJsonStr(result3);
System.out.println(result3);
result3=result3.replaceAll("\{“a”:“1”\},","");
System.out.println(result3);