我的 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>`
这是完整的代码,这是操场链接。运行此命令将获取 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
}
编辑:我在这里稍微简化了这个问题。基本上我不能解组任何数组,而不仅仅是预定义的结构。以下是更新后的工作代码。在该示例中,只有一项最终出现在容器界面中。
func main() {
container := []Child{}
err := xml.Unmarshal([]byte(xml_data), &container)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(container)
}
/*
ONLY ONE CHILD ITEM GETS PICKED UP
*/
}
var xml_data = `
<Child><Val>Hello</Val></Child>
<Child><Val>Hello</Val></Child>
<Child><Val>Hello</Val></Child>
`
type Child struct {
Val string
}
慕姐4208626
慕侠2389804
相关分类