关于go将xml数据转换为struct

chengtaozou · · 6816 次点击
polaris
社区,需要你我一同完善!
类似这么定义: ```go type CData struct { Val string `xml:",cdata"` } ``` 可以参考 studygolang 的相关代码:https://github.com/studygolang/studygolang/blob/master/src/model/wechat_msg.go
#1
更多评论
我刚试了不行啊 这是代码 ```go type CData struct { Val string `xml:",cdata"` } type EventPush struct { XMLName xml.Name `xml:"xml"` ToUserName *CData FromUserName *CData CreateTime uint64 MsgType *CData Event *CData } func main() { var event EventPush var xmlString = "<xml><ToUserName>< ![CDATA[toUser] ]></ToUserName><FromUserName>< ![CDATA[FromUser] ]></FromUserName><CreateTime>123456789</CreateTime><MsgType>< ![CDATA[event] ]></MsgType><Event>< ![CDATA[subscribe] ]></Event></xml>" xml.Unmarshal([]byte(xmlString), &event) fmt.Println(event) }``` 打印结果是这样的:`{{ xml} 0xc042030300 <nil> 0 <nil> <nil>}`
#2
搞错了,代码我截图 ![QQ图片20180107162120.png](https://static.studygolang.com/180107/c74ef89f55c13796967ee9425d5ba7de.png) 结果是`{{ xml} 0xc042030300 <nil> 0 <nil> <nil>}`
#3