解析简单xml形式数据

数据格式如下:

<XML>
  <item>
    <AMONTH>201908</AMONTH>
    <PROJECT>JAGUAR</PROJECT>
    <SITE>ZZ</SITE>
    <MPN>MRY42LL/A</MPN>
    <SUBASS>639-06875-002</SUBASS>
    <APN>103S00091</APN>
    <ZITEM>1730</ZITEM>
    <ZLEVEL>MLB</ZLEVEL>
    <ZDESC>RES,MF,100OHM,0.1%,1/32W,01005</ZDESC>
    <ZQTY>1.000000</ZQTY>
    <F_COST>0.010514</F_COST>
    <T_COST>0.010514</T_COST>
  </item>
  <item>
    <AMONTH>201908</AMONTH>
    <PROJECT>JAGUAR</PROJECT>
    <SITE>ZZ</SITE>
    <MPN>MRY42LL/A</MPN>
    <SUBASS>639-06875-002</SUBASS>
    <APN>103S00091</APN>
    <ZITEM>1730</ZITEM>
    <ZLEVEL>MLB</ZLEVEL>
    <ZDESC>RES,MF,100OHM,0.1%,1/32W,01005</ZDESC>
    <ZQTY>1.000000</ZQTY>
    <F_COST>0.010514</F_COST>
    <T_COST>0.010514</T_COST>
  </item>
</XML>

引入DOM4J相关依赖,解析代码如下:

SAXReader saxReader = new SAXReader();
Document document = saxReader.read(new ByteArrayInputStream(ll.toXML().getBytes("UTF-8")));
if (document != null) {
	//根标签 XML标签
	Element root = document.getRootElement();
	if (root != null) {
		Iterator<Element> iterator = root.elementIterator();
		while (iterator.hasNext()) {
			//e代表item标签
			Element e = iterator.next();
			//qbc是建立的实体类对象 将解析出的数据赋值给实体对象
			qbc.setAppleMonth(e.elementText("AMONTH"));
			qbc.setSite(e.elementText("SITE"));
			qbc.setProject(e.elementText("PROJECT"));
			qbc.setMpn(e.elementText("SUBASS"));
		    qbc.setApn(e.elementText("APN"));
			qbc.setLevel(e.elementText("ZLEVEL"));
			qbc.setDescription(e.elementText("ZDESC"));
			qbc.setQuantity(Double.valueOf(e.elementText("ZQTY")));
			qbc.setPrice(Double.valueOf(e.elementText("F_COST")));
			//提前声明的list集合 将实体对象放入list 拿到解析的数据
			list.add(qbc);
		}
	}
}

Document document = saxReader.read(new ByteArrayInputStream(ll.toXML().getBytes(“UTF-8”)));
该数据是通过SAP接口调用获得,所以需要进行处理,代码中的root代表根标签,e代表item标签,此处代码会遍历两次。
本人水平有限,如果哪里写的不对,希望大神能够指正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值