首頁 >後端開發 >Golang >如何在 Go Structs 中動態設定 XML 元素名稱?

如何在 Go Structs 中動態設定 XML 元素名稱?

Susan Sarandon
Susan Sarandon原創
2024-11-25 15:34:10622瀏覽

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