最近项目中由于特殊原因服务器返回的数据是xml格式的数据,由于数据量比较大,xml类型比较复杂,用传统的办法封装的工具类来解析着实蛋疼。于是寻找第三方的解析框架发现有如下几个:
综合对比之后发现还是XStream最符合我的需求,于是记录方便以后使用。本文只讲XStream,至于其他可以自行研究。
1.Android Studio引入XStream添加依赖:
2.这个是项目里面的XML数据够复杂吧。
- compile 'com.thoughtworks.xstream:xstream:1.4.8'
- <?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>