Unmarshalling von XML-Attributen mit unbekannten Größen mit Golang
In Golang umfasst das Unmarshalling von XML das Parsen von XML-Daten in eine Struktur, was eine bequeme Datenbearbeitung ermöglicht und Abrufen. Bestimmte Szenarien erfordern jedoch die Behandlung unerwarteter XML-Attribute, bei denen die Attributnamen und -werte von Instanz zu Instanz unterschiedlich sein können.
Das Paket „encoding/xml“ bietet Unterstützung für das Unmarshalling von XML-Elementen mit dynamischen Attributen über xml:“,any ,attr“-Anmerkung. Diese Funktion ermöglicht die Sammlung aller Attribute in einem Slice von xml.Attr innerhalb der Struktur.
Um diese Funktion zu veranschaulichen, betrachten Sie den folgenden Code:
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) }
Bei der Ausführung wird dieser Code ausgeführt Geben Sie Folgendes aus:
[{ATTR1 VALUE1} {ATTR2 VALUE2}]
Jeder Eintrag im Attributsegment stellt ein Attribut dar, bestehend aus seinem Namen (z. B. „ATTR1“) und seinem Wert (z. B. „VALUE1“).
Diese Erweiterung ermöglicht Entwicklern die Arbeit mit XML-Dokumenten, die unbekannte oder dynamische Attribute enthalten, was Go zu einem noch vielseitigeren Tool für die XML-Verarbeitung macht.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit unbekannten XML-Attributen beim Unmarshalling in Go um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!