首页 > 后端开发 > Golang > 如何在 Go Structs 中动态设置 XML 元素名称?

如何在 Go Structs 中动态设置 XML 元素名称?

Susan Sarandon
发布: 2024-11-25 15:34:10
原创
615 人浏览过

How to Dynamically Set XML Element Names in Go Structs?

在 Go 中动态定义 XML 元素名称

考虑一个 XML 文件,其中两个元素具有相同的结构(元素名称除外)。为了在 Go 中表示这些元素,需要一个具有动态元素名称的结构体。

type Person struct {
    XMLName string `xml:"???` // How to make this dynamic?
    E1 string `xml:"ELEM1"`
    E2 string `xml:"ELEM2"`
    E3 string `xml:"ELEM3"`
    E4 string `xml:"ELEM4"`
}
登录后复制

这里引入了 xml.Name 类型。它的 Local 字段允许动态设置元素名称:

type Person struct {
    XMLName xml.Name
    E1 string `xml:"ELEM1"`
    // ...
}
登录后复制

在运行时,可以分配元素名称:

person := Person{
    XMLName: xml.Name{Local: "Person"},
    // ...
}
登录后复制

请注意,结构体字段 (E1 - E4)必须导出(以大写字母开头)才能包含在 XML 输出中。

有关实际示例,请参阅以下内容游乐场:

http://play.golang.org/p/bzSutFF9Bo

以上是如何在 Go Structs 中动态设置 XML 元素名称?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板