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

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

Susan Sarandon
Susan Sarandon原创
2024-11-25 15:34:10563浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn