使用第三方框架Xstream轻松解析xml数据

前端之家收集整理的这篇文章主要介绍了使用第三方框架Xstream轻松解析xml数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

最近项目中由于特殊原因服务器返回的数据是xml格式的数据,由于数据量比较大,xml类型比较复杂,用传统的办法封装的工具类来解析着实蛋疼。于是寻找第三方的解析框架发现有如下几个:

综合对比之后发现还是XStream最符合我的需求,于是记录方便以后使用。本文只讲XStream,至于其他可以自行研究。

1.Android Studio引入XStream添加依赖:

  1. compile 'com.thoughtworks.xstream:xstream:1.4.8'
2.这个是项目里面的XML数据够复杂吧。
  1. <?xml version="1.0" encoding="utf-8"?>
  2.  
  3. <joblist>
  4. <!--警告清单通知内容清单-->
  5. <interfacelist interface="warnlist"></interfacelist>
  6. <!--如果手动选了下一步骤工序,且工序有多条记录需要选择其中一条记录-->
  7. <interfacelist interface="nextstep">
  8. <next_step>
  9. <rkey>374</rkey>
  10. <step_number>2</step_number>
  11. <dept_code>PPPRE</dept_code>
  12. <!--下一步工作组-->
  13. <next_group_list>
  14. <next_group>
  15. <rkey>586</rkey>
  16. <dept_code>PPPRE_G1</dept_code>
  17. <dept_name>半固化片开料工作组1</dept_name>
  18. </next_group>
  19. <next_group>
  20. <rkey>587</rkey>
  21. <dept_code>PPPRE_G2</dept_code>
  22. <dept_name>半固化片开料外发组1</dept_name>
  23. </next_group>
  24. </next_group_list>
  25. </next_step>
  26. </interfacelist>
  27. <!--产出工作中心-->
  28. <interfacelist interface="outcenter">
  29. <out_list>
  30. <rkey>473</rkey>
  31. <dept_code>CUPRE_W1</dept_code>
  32. <dept_name>铜箔开料工作中心1</dept_name>
  33. </out_list>
  34. </interfacelist>
  35. <!--作业单在制品行记录信息-->
  36. <interfacelist interface="worknumberinfor">
  37. <work_order_number>170502002-0-46-01</work_order_number>
  38. <dept_code>CUPRE_G1铜箔开料工作组1</dept_code>
  39. <dept_name>铜箔开料工作组1</dept_name>
  40. <d0034_rkey>471</d0034_rkey>
  41. <parts_per_panel>16</parts_per_panel>
  42. <parts_per_set>4</parts_per_set>
  43. <manu_part_number>01-04</manu_part_number>
  44. <customer_part_number>DC12834</customer_part_number>
  45. <cp_rev>C3</cp_rev>
  46. <whouse_ptr>2</whouse_ptr>
  47. <wo_datecode></wo_datecode>
  48. <quan_sch>960</quan_sch>
  49. <quan_rej>0</quan_rej>
  50. <rkey>196890</rkey>
  51. <step>1</step>
  52. <qty_backlog>960</qty_backlog>
  53. <panels>60</panels>
  54. <to_be_stocked1>0</to_be_stocked1>
  55. <sets_qty>240</sets_qty>
  56. </interfacelist>
  57. <!--控制开关清单-->
  58. <interfacelist interface="controlinfor">
  59. <!--控制开关行索引-->
  60. <power_index>0</power_index>
  61. <!--是否允许修改接板数量-->
  62. <permit_split_lot>1</permit_split_lot>
  63. <!--是否允许修改接收工序-->
  64. <changeacceptdept>1</changeacceptdept>
  65. <!--是否需要录入周码-->
  66. <datecode_entry_flag>False</datecode_entry_flag>
  67. <!--录入周码需要遵照的字段格式-->
  68. <datecode_entry_flagformat>/</datecode_entry_flagformat>
  69. <!--是否需要入仓处理-->
  70. <stock_entry_flag>0</stock_entry_flag>
  71. <!--默认仓库-->
  72. <stock_rkey_default>14</stock_rkey_default>
  73. <stock_code_default>ST005</stock_code_default>
  74. <stock_name_default>产成品仓库</stock_name_default>
  75. <stock_place_default>P0001</stock_place_default>
  76. </interfacelist>
  77. <!--仓库清单-->
  78. <interfacelist interface="stocklist">
  79. <stock_list>
  80. <rkey>14</rkey>
  81. <code>ST005</code>
  82. <name>产成品仓库</name>
  83. <place_list>
  84. <list>
  85. <rkey>3</rkey>
  86. <code>P0001</code>
  87. <name>货架一</name>
  88. </list>
  89. <list>
  90. <rkey>4</rkey>
  91. <code>P0002</code>
  92. <name>货架二</name>
  93. </list>
  94. <list>
  95. <rkey>5</rkey>
  96. <code>P0003</code>
  97. <name>货架三</name>
  98. </list>
  99. </place_list>
  100. </stock_list>
  101. <stock_list>
  102. <rkey>16</rkey>
  103. <code>ST007</code>
  104. <name>成品退货仓库</name>
  105. <place_list>
  106. <list>
  107. <rkey>8</rkey>
  108. <code>X01</code>
  109. <name></name>
  110. </list>
  111. <list>
  112. <rkey>9</rkey>
  113. <code>X02</code>
  114. <name></name>
  115. </list>
  116. </place_list>
  117. </stock_list>
  118. <stock_list>
  119. <rkey>25</rkey>
  120. <code>ST014</code>
  121. <name>全程外协成品库</name>
  122. <place_list></place_list>
  123. </stock_list>
  124. <stock_list>
  125. <rkey>27</rkey>
  126. <code>ST016</code>
  127. <name>外包仓库</name>
  128. <place_list></place_list>
  129. </stock_list>
  130. <stock_list>
  131. <rkey>28</rkey>
  132. <code>ST017</code>
  133. <name>虚拟全程外协成品库</name>
  134. <place_list></place_list>
  135. </stock_list>
  136. <stock_list>
  137. <rkey>29</rkey>
  138. <code>ST018</code>
  139. <name>暂停发货仓库</name>
  140. <place_list></place_list>
  141. </stock_list>
  142. <stock_list>
  143. <rkey>33</rkey>
  144. <code>ST020</code>
  145. <name>成品包装仓</name>
  146. <place_list></place_list>
  147. </stock_list>
  148. </interfacelist>
  149. <!--使用工具清单-->
  150. <interfacelist interface="toollist"></interfacelist>
  151. <!--子部件分配-->
  152. <interfacelist interface="innerpartlist">
  153. <innerpart_list>
  154. <cut_no>170502002-0</cut_no>
  155. <wo_ptr>204292</wo_ptr>
  156. <d38_ptr>691386</d38_ptr>
  157. <bom_ptr>29072</bom_ptr>
  158. <bom_step>1</bom_step>
  159. <manu_part_number>02-03</manu_part_number>
  160. <qty_bom>1</qty_bom>
  161. <sumneed_bom>960</sumneed_bom>
  162. <need_bom>0</need_bom>
  163. <pcs_issued>960</pcs_issued>
  164. <pnl_issued>120</pnl_issued>
  165. <set_issued>298</set_issued>
  166. </innerpart_list>
  167. <innerpart_list>
  168. <cut_no>170502002-0</cut_no>
  169. <wo_ptr>204292</wo_ptr>
  170. <d38_ptr>691386</d38_ptr>
  171. <bom_ptr>29071</bom_ptr>
  172. <bom_step>1</bom_step>
  173. <manu_part_number>钻P片</manu_part_number>
  174. <qty_bom>1</qty_bom>
  175. <sumneed_bom>960</sumneed_bom>
  176. <need_bom>960</need_bom>
  177. <pcs_issued>0</pcs_issued>
  178. <pnl_issued>0</pnl_issued>
  179. <set_issued>0</set_issued>
  180. </innerpart_list>
  181. </interfacelist>
  182. <!--自制品分配-->
  183. <interfacelist interface="selfpartlist">
  184. <selfpart_list>
  185. <cut_no>170502002-0</cut_no>
  186. <wo_ptr>204292</wo_ptr>
  187. <d38_ptr>691386</d38_ptr>
  188. <whouse_ptr>2</whouse_ptr>
  189. <bom_rkey50>8666</bom_rkey50>
  190. <bom_step>1</bom_step>
  191. <manu_part_number>AC07574A0</manu_part_number>
  192. <qty_bom>1</qty_bom>
  193. <sumneed_bom>960</sumneed_bom>
  194. <need_bom>0</need_bom>
  195. <quan_issued>960</quan_issued>
  196. <quan_on_hand>117197</quan_on_hand>
  197. </selfpart_list>
  198. <selfpart_list>
  199. <cut_no>170502002-0</cut_no>
  200. <wo_ptr>204292</wo_ptr>
  201. <d38_ptr>691386</d38_ptr>
  202. <whouse_ptr>2</whouse_ptr>
  203. <bom_rkey50>16669</bom_rkey50>
  204. <bom_step>1</bom_step>
  205. <manu_part_number>003S0002</manu_part_number>
  206. <qty_bom>1</qty_bom>
  207. <sumneed_bom>960</sumneed_bom>
  208. <need_bom>0</need_bom>
  209. <quan_issued>960</quan_issued>
  210. <quan_on_hand>0</quan_on_hand>
  211. </selfpart_list>
  212. </interfacelist>
  213. </joblist>

猜你在找的XML相关文章