xml - 如何使用多个元素值列表在 golang 中解析 xml。并将它们存储在列表中

标签 xml parsing go

我想解析这个 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/

相关文章:

PHP 和 XML : The cost of parsing a large XML file every page request

Golang net/http/transport proxy CONNECT方法头支持

golang 推迟在预期时不评估

xml - 没有重复项的 xslt 组子组

java - 使用属性文件进行 Spring XML 配置的可选参数

c# - 在 C# : extracting all URLs 中解析 CSS

go - 尝试从文件和目录创建 tar.gz 文件时出现 `write too long` 错误

java - Dispatcher-servlet 无法映射到 websocket 请求

c# - 使用 Objective C 从 MS 数据库获取数据?

parsing - 是否可以使用applicative来表达chainl1?