前言:本文有局限性众雷,是個(gè)人在學(xué)習(xí)過程中對(duì)學(xué)習(xí)的一些記錄。我看過其他人的文章做祝,遇到過很多問題砾省,但是最后看來,這些根本就不是問題混槐。其用法規(guī)則與gson相似纯蛾。具體如下:
第一步、當(dāng)然是添加需要的依賴包了
第二步纵隔、看xml結(jié)構(gòu)(這里呢翻诉,只供參考)
這個(gè)例子是一個(gè)相對(duì)復(fù)雜的了炮姨,一般情況下,我們使用到后臺(tái)提供的數(shù)據(jù)很少會(huì)超過這個(gè)范圍(節(jié)點(diǎn)都是String類型碰煌,如有需要舒岸,自行腦補(bǔ))
第三步、建立實(shí)體類
最外層是ROOT,那么只需要關(guān)注ROOT下的節(jié)點(diǎn)就可以了芦圾,我們可以看到節(jié)點(diǎn)中可以得到下面信息
String字符串節(jié)點(diǎn):code蛾派、msg1、msg2
String字符串節(jié)點(diǎn)屬性:lala
實(shí)體類節(jié)點(diǎn):One个少、two
list集合節(jié)點(diǎn):items
然后我們看One洪乍、two和items
One中有
String字符串節(jié)點(diǎn):one1、one2
two中有:
String字符串節(jié)點(diǎn):two1夜焦、two2
String字符串節(jié)點(diǎn)屬性:lalatwo壳澳、path
items中也就是實(shí)體類節(jié)點(diǎn)Three,Three中有:
String字符串節(jié)點(diǎn):id茫经、name
接下來我們就開始寫實(shí)體類了
這里著重需要說明有:
1巷波、實(shí)體類更具節(jié)點(diǎn)判斷來建立的,但是實(shí)體類的名稱與節(jié)點(diǎn)名稱可以不一樣
2卸伞、定義的變量必須要和節(jié)點(diǎn)相同(如果不一樣抹镊,則注釋需要說明name,當(dāng)然我這種的比較簡(jiǎn)單)荤傲,這里的String類型垮耳,實(shí)體類和集合都是一樣的,具體的看代碼
3遂黍、實(shí)體類不需要@Root說明终佛,也不需要無參的構(gòu)造方法(至少我整個(gè)版本的不需要)
4、注釋說明
@Element:注釋普通節(jié)點(diǎn)
@Attribute:注釋節(jié)點(diǎn)屬性
@ElementList:注釋list集合節(jié)點(diǎn)
解析xml也就這些是重點(diǎn)了妓湘,其他的不多再說明查蓉。如果有錯(cuò)誤的地方或者疑問乌询,歡迎指正或交流榜贴!