java中String类型的xml格式数据解析
最近研究java爬⾍,Get请求后取得数据为String类型的xml数据,尝试了许久的解析,因此做个⼩记录。
xml数据如下(String类型):
<?xml version="1.0" encoding="UTF-8"?>
<hello>
<a>123456</a>
<g>0064542</g>
<co>DE</co>
<f>143</f>
<ok>0</ok>
<error></error>
<tr>
<ztt>
<riqi>2019-03-07</riqi>
<sj>20:21:00</sj>
<zt> zugestellt</zt>
<add></add>
</ztt>
<ztt>
<riqi>2019-03-07</riqi>
<sj>15:12:00</sj>
<zt>Die </zt>
<add></add>
</ztt>
<ztt>
<riqi>2019-03-07</riqi>
<sj>10:13:00</sj>
<zt>Die Send</zt>
<add>Neumark</add>
</ztt>
<ztt>
<riqi>2019-03-01</riqi>
<sj>22:03:24</sj>
<zt>Custom clearance completed</zt>
<add>DE</add>
</ztt>
</tr>
<status>7</status>
<notra>yes</notra>
</hello>
⽬的是为了拿到中间⼏串相同格式的字符串数据,博主⾸先考虑了JavaSchool学习⽹站中的⽅法来尝试javaString 转xml的⽅式:关键代码:String xml = “”;//指上诉数据
Document doc = DocumentHelper.parseText(xml);
Element root = RootElement();
需要导⼊jar包:
java xml是什么import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
并再l中添加依赖:
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
但是之后不⽌如何将它解析为list,最后选择了暴⼒解析。
1.先⽤String切割,去掉头尾字符串,只留有⽤的中间数据,
String result = xml.substring(response.indexOf("<tr>") + 1,xml.lastIndexOf("</tr"));
再转: des.Document doc = Jsoup.parse(result);
最后⽤ getElementsByTag("")选择标签的⽅式将它提取了出来。
还有⼀个转的⽅式:
//将xml转为json
JSONObject jsonXML = JSONObject(response);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。