使用Golang 解組未知數量的XML 屬性
在Golang 中,解組XML 涉及將XML 資料解析為結構體,從而可以方便地進行資料操作和檢索。但是,某些場景需要處理意外的 XML 屬性,其中屬性名稱和值可能會因實例而異。
encoding/xml 套件透過 xml:",any 提供具有動態屬性的 XML 元素解組的支援,attr」註解。此功能可以將所有屬性集合到結構內的 xml.Attr 切片中。
為了說明此功能,請考慮以下程式碼:
package main import ( "encoding/xml" "fmt" ) func main() { var v struct { Attributes []xml.Attr `xml:",any,attr"` } data := `<TAG ATTR1="VALUE1" ATTR2="VALUE2" />` err := xml.Unmarshal([]byte(data), &v) if err != nil { panic(err) } fmt.Println(v.Attributes) }
執行時,此程式碼將輸出以下內容:
[{ATTR1 VALUE1} {ATTR2 VALUE2}]
Attributes 切片中的每個條目代表一個屬性,由其名稱組成(例如, “ATTR1”)和值(例如“VALUE1”)。
此增強功能使開發人員能夠處理包含未知或動態屬性的 XML 文檔,使 Go 成為更通用的 XML 處理工具。
以上是如何在 Go 中解組期間處理未知的 XML 屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!