关于go将xml数据转换为struct

chengtaozou · · 6865 次点击
czyt
云在青天水在瓶
刚好在张子阳的博客看到相关的内容,贴出来供您参考 ![QQ截图20180114121039.jpg](https://static.studygolang.com/180114/d74972b1ee8e5fc950d925002da56031.jpg) 原文链接在这里http://www.tracefact.net/tech/045.html
#6
更多评论
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