我想解析这个 xml 并将其存储在下面的 golang 中的一个数据结构中。
相机:LibX,LibY,...(动态列表)
显示:LibP,LibQ,...(动态列表)
<techpackages>
<techpackage>
<techpackage_name> camera </techpackage_name>
<library>LibX</library>
<library>LibY</library>
....(dynamic number of libraries)
</techpackage>
<techpackage>
<techpackage_name> display </techpackage_name>
<library>LibP</library>
<library>LibQ</library>
....(dynamic number of libraries)
</techpackage>
</techpackages>
最佳答案
您可以将所谓的“动态列表”解码为 slice 。
type TechPackages struct {
xml.Name `xml:"techpackages"`
TechPackage []TechPackage `xml:"techpackage"`
}
type TechPackage struct {
TechPackageName string `xml:"techpackage_name"`
Library []string `xml:"library"`
}
var pp TechPackages
if err := xml.Unmarshal(data, &pp); err != nil {
panic(err)
}
https://play.golang.org/p/T0shyWsBAFg
关于xml - 如何使用多个元素值列表在 golang 中解析 xml。并将它们存储在列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63878411/