1、encoding/xml是官方的包,非常好用,使用起来简单且强大
(1)它的使用方法是给结构体成员绑定标签来解析,然后调研解析或编码函数一步完成。
例如下面的结构体,给每个成员定义对应的xml标签,可以多级嵌套。
下图是官网对每个xml标签的解释:
(2)这里一句话解释下:xml:",innerxml"
,它是将指定标签内部的子标签或者内容按字符串原样进行处理。也就是如果是解码时,就取内部的原始字符串;如果是编码时,就把原始字符串按原样进行处理,不进行序列化。item的xml如下:
上面结构体中定义的 Item_str取到的值如下,注意去掉了换行符,也就是说,它会取该xml的Item标签内部的内容,不包含该Item标签:
<DeviceID>huawei</DeviceID><Name>荣耀</Name><Status>OK</Status><Info><Type>0</Type></Info>
(3)定义结构体时,Item_str string xml:",innerxml"
应该写在哪里?
写在你要取的那一层子标签的结构体内部,而且不会影响其他字段解析,不会产生冲突。