最近项目中由于特殊原因服务器返回的数据是xml格式的数据,由于数据量比较大,xml类型比较复杂,用传统的办法封装的工具类来解析着实蛋疼。于是寻找第三方的解析框架发现有如下几个:
综合对比之后发现还是XStream最符合我的需求,于是记录方便以后使用。本文只讲XStream,至于其他可以自行研究。
1.Android Studio引入XStream添加依赖:
compile 'com.thoughtworks.xstream:xstream:1.4.8'
2.这个是项目里面的XML数据够复杂吧。
<?xml version="1.0" encoding="utf-8"?>
<joblist>
<!--警告清单通知内容清单-->
<interfacelist interface="warnlist"></interfacelist>
<!--如果手动选了下一步骤工序,且工序有多条记录需要选择其中一条记录-->
<interfacelist interface="nextstep">
<next_step>
<rkey>374</rkey>
<step_number>2</step_number>
<dept_code>PPPRE</dept_code>
<!--下一步工作组-->
<next_group_list>
<next_group>
<rkey>586</rkey>
<dept_code>PPPRE_G1</dept_code>
<dept_name>半固化片开料工作组1</dept_name>
</next_group>
<next_group>
<rkey>587</rkey>
<dept_code>PPPRE_G2</dept_code>
<dept_name>半固化片开料外发组1</dept_name>
</next_group>
</next_group_list>
</next_step>
</interfacelist>
<!--产出工作中心-->
<interfacelist interface="outcenter">
<out_list>
<rkey>473</rkey>
<dept_code>CUPRE_W1</dept_code>
<dept_name>铜箔开料工作中心1</dept_name>
</out_list>
</interfacelist>
<!--作业单在制品行记录信息-->
<interfacelist interface="worknumberinfor">
<work_order_number>170502002-0-46-01</work_order_number>
<dept_code>CUPRE_G1铜箔开料工作组1</dept_code>
<dept_name>铜箔开料工作组1</dept_name>
<d0034_rkey>471</d0034_rkey>
<parts_per_panel>16</parts_per_panel>
<parts_per_set>4</parts_per_set>
<manu_part_number>01-04</manu_part_number>
<customer_part_number>DC12834</customer_part_number>
<cp_rev>C3</cp_rev>
<whouse_ptr>2</whouse_ptr>
<wo_datecode></wo_datecode>
<quan_sch>960</quan_sch>
<quan_rej>0</quan_rej>
<rkey>196890</rkey>
<step>1</step>
<qty_backlog>960</qty_backlog>
<panels>60</panels>
<to_be_stocked1>0</to_be_stocked1>
<sets_qty>240</sets_qty>
</interfacelist>
<!--控制开关清单-->
<interfacelist interface="controlinfor">
<!--控制开关行索引-->
<power_index>0</power_index>
<!--是否允许修改接板数量-->
<permit_split_lot>1</permit_split_lot>
<!--是否允许修改接收工序-->
<changeacceptdept>1</changeacceptdept>
<!--是否需要录入周码-->
<datecode_entry_flag>False</datecode_entry_flag>
<!--录入周码需要遵照的字段格式-->
<datecode_entry_flagformat>/</datecode_entry_flagformat>
<!--是否需要入仓处理-->
<stock_entry_flag>0</stock_entry_flag>
<!--默认仓库-->
<stock_rkey_default>14</stock_rkey_default>
<stock_code_default>ST005</stock_code_default>
<stock_name_default>产成品仓库</stock_name_default>
<stock_place_default>P0001</stock_place_default>
</interfacelist>
<!--仓库清单-->
<interfacelist interface="stocklist">
<stock_list>
<rkey>14</rkey>
<code>ST005</code>
<name>产成品仓库</name>
<place_list>
<list>
<rkey>3</rkey>
<code>P0001</code>
<name>货架一</name>
</list>
<list>
<rkey>4</rkey>
<code>P0002</code>
<name>货架二</name>
</list>
<list>
<rkey>5</rkey>
<code>P0003</code>
<name>货架三</name>
</list>
</place_list>
</stock_list>
<stock_list>
<rkey>16</rkey>
<code>ST007</code>
<name>成品退货仓库</name>
<place_list>
<list>
<rkey>8</rkey>
<code>X01</code>
<name></name>
</list>
<list>
<rkey>9</rkey>
<code>X02</code>
<name></name>
</list>
</place_list>
</stock_list>
<stock_list>
<rkey>25</rkey>
<code>ST014</code>
<name>全程外协成品库</name>
<place_list></place_list>
</stock_list>
<stock_list>
<rkey>27</rkey>
<code>ST016</code>
<name>外包仓库</name>
<place_list></place_list>
</stock_list>
<stock_list>
<rkey>28</rkey>
<code>ST017</code>
<name>虚拟全程外协成品库</name>
<place_list></place_list>
</stock_list>
<stock_list>
<rkey>29</rkey>
<code>ST018</code>
<name>暂停发货仓库</name>
<place_list></place_list>
</stock_list>
<stock_list>
<rkey>33</rkey>
<code>ST020</code>
<name>成品包装仓</name>
<place_list></place_list>
</stock_list>
</interfacelist>
<!--使用工具清单-->
<interfacelist interface="toollist"></interfacelist>
<!--子部件分配-->
<interfacelist interface="innerpartlist">
<innerpart_list>
<cut_no>170502002-0</cut_no>
<wo_ptr>204292</wo_ptr>
<d38_ptr>691386</d38_ptr>
<bom_ptr>29072</bom_ptr>
<bom_step>1</bom_step>
<manu_part_number>02-03</manu_part_number>
<qty_bom>1</qty_bom>
<sumneed_bom>960</sumneed_bom>
<need_bom>0</need_bom>
<pcs_issued>960</pcs_issued>
<pnl_issued>120</pnl_issued>
<set_issued>298</set_issued>
</innerpart_list>
<innerpart_list>
<cut_no>170502002-0</cut_no>
<wo_ptr>204292</wo_ptr>
<d38_ptr>691386</d38_ptr>
<bom_ptr>29071</bom_ptr>
<bom_step>1</bom_step>
<manu_part_number>钻P片</manu_part_number>
<qty_bom>1</qty_bom>
<sumneed_bom>960</sumneed_bom>
<need_bom>960</need_bom>
<pcs_issued>0</pcs_issued>
<pnl_issued>0</pnl_issued>
<set_issued>0</set_issued>
</innerpart_list>
</interfacelist>
<!--自制品分配-->
<interfacelist interface="selfpartlist">
<selfpart_list>
<cut_no>170502002-0</cut_no>
<wo_ptr>204292</wo_ptr>
<d38_ptr>691386</d38_ptr>
<whouse_ptr>2</whouse_ptr>
<bom_rkey50>8666</bom_rkey50>
<bom_step>1</bom_step>
<manu_part_number>AC07574A0</manu_part_number>
<qty_bom>1</qty_bom>
<sumneed_bom>960</sumneed_bom>
<need_bom>0</need_bom>
<quan_issued>960</quan_issued>
<quan_on_hand>117197</quan_on_hand>
</selfpart_list>
<selfpart_list>
<cut_no>170502002-0</cut_no>
<wo_ptr>204292</wo_ptr>
<d38_ptr>691386</d38_ptr>
<whouse_ptr>2</whouse_ptr>
<bom_rkey50>16669</bom_rkey50>
<bom_step>1</bom_step>
<manu_part_number>003S0002</manu_part_number>
<qty_bom>1</qty_bom>
<sumneed_bom>960</sumneed_bom>
<need_bom>0</need_bom>
<quan_issued>960</quan_issued>
<quan_on_hand>0</quan_on_hand>
</selfpart_list>
</interfacelist>
</joblist>