Android Retrofit Xml解析器simplexml简单使用和那些坑

入职一家新公司,后台已经写好了!数据格式是XML

自己比较喜欢RxJava+Retrofit。

baidu一下Retrofit可以配合SimpleXml使用解析。

依赖:

implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'


implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation 'io.reactivex.rxjava2:rxjava:2.1.2'

implementation('com.squareup.retrofit2:converter-simplexml:2.1.0') {
    exclude group: 'xpp3', module: 'xpp3'
    exclude group: 'stax', module: 'stax-api'
    exclude group: 'stax', module: 'stax'
}

先看下Xml:


Android Retrofit Xml解析器simplexml简单使用和那些坑_第1张图片
xml数据源.PNG

这是一个简单的xml数据

xml解析需要一层一层解析且不能有内部类(baidu上说的)

请看我如何一层一层解析!~~

Android Retrofit Xml解析器simplexml简单使用和那些坑_第2张图片
xml解析1.PNG
Android Retrofit Xml解析器simplexml简单使用和那些坑_第3张图片
xml解析2.PNG
Android Retrofit Xml解析器simplexml简单使用和那些坑_第4张图片
xml解析3.PNG

我就老老实实一层嵌套一层,虽然类多,可是用起来没问题!

@Root是外层的标签,strict = false 是否精确控制

@ElementList List

@Element 属性

具体的话可以看图自我解析!

最终要的一点!!!

请看这里!!!!!!!!!!!!

如果数据可能是空的一定要按照以下写法

@Element(name = "GuestName",required = false)
private String guestName;

不然解析会出错的
因为默认属性是精确匹配!!!

你可能感兴趣的:(Android Retrofit Xml解析器simplexml简单使用和那些坑)