我的XML包含一组预定义元素,但我无法获取数组.这是XML结构:
var xml_data = `<Parent>
<Val>Hello</Val>
<Children>
<Child><Val>Hello</Val></Child>
<Child><Val>Hello</Val></Child>
<Child><Val>Hello</Val></Child>
</Children>
</Parent>`
Run Code Online (Sandbox Code Playgroud)
这是完整的代码,这里是游乐场链接.运行它将获取Parent.Val,但不是Parent.Children.
package main
import (
"fmt"
"encoding/xml"
)
func main() {
container := Parent{}
err := xml.Unmarshal([]byte(xml_data), &container)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(container)
}
}
var xml_data = `<Parent>
<Val>Hello</Val>
<Children>
<Child><Val>Hello</Val></Child>
<Child><Val>Hello</Val></Child>
<Child><Val>Hello</Val></Child>
</Children>
</Parent>`
type Parent struct {
Val string
Children []Child
}
type Child struct {
Val string
}
Run Code Online (Sandbox Code Playgroud)
编辑:我在这里简化了一下这个问题.基本上我不能解组任何数组,而不仅仅是预定义的结构.以下是更新的工作代码.在该示例中,只有一个项目在容器界面中结束.
func main() {
container := []Child{} …Run Code Online (Sandbox Code Playgroud)