0
我有一個XML結構,它基本上包含一個節點數組,它應該反序列化爲一個簡單的go結構的片段,但它不起作用。這裏是我正在使用的代碼(評論顯示我期望的):Go - 如何將XML解壓縮到容器結構中,使用片段
package main
import "fmt"
import "encoding/xml"
func main() {
c := Conversation{}
xml.Unmarshal(raw, &c)
fmt.Println(len(c.Dialog)) // expecting 2, not 0
fmt.Println(c.Dialog[0].Text) // expecting "Hi", not a panic
}
var raw = []byte(`<conversation>
<message>
<text>Hi</text>
</message>
<message>
<text>Bye</text>
</message>
</conversation>`)
type Conversation struct {
Dialog []Message `xml:"conversation"`
}
type Message struct {
XMLName xml.Name `xml:"message"`
Text string `xml:"text"`
}
爲什麼不能正常工作?
遊樂場:http://play.golang.org/p/a_d-nhcfoP
疑難雜症!謝謝。它看起來像我不需要消息結構上的XMLName字段:http://play.golang.org/p/dSULYVIZi8 – mdwhatcott
哦,呵呵。這很酷。 – joshlf