关于go将xml数据转换为struct

chengtaozou · 2018-01-07 15:58:16 · 6892 次点击

你那符合xml格式吗?怎么看也不是啊。

#7
更多评论
polaris
社区,需要你我一同完善!

类似这么定义:

type CData struct {
    Val string `xml:",cdata"`
}

可以参考 studygolang 的相关代码:https://github.com/studygolang/studygolang/blob/master/src/model/wechat_msg.go

#1

我刚试了不行啊 这是代码

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 = "< ![CDATA[toUser] ]>< ![CDATA[FromUser] ]>123456789< ![CDATA[event] ]>< ![CDATA[subscribe] ]>"
    xml.Unmarshal([]byte(xmlString), &event)
    fmt.Println(event)
}

打印结果是这样的:{{ xml} 0xc042030300 <nil> 0 <nil> <nil>}

#2