Dynamisches Definieren von XML-Elementnamen in Go
Stellen Sie sich eine XML-Datei mit zwei Elementen mit identischer Struktur vor, mit Ausnahme der Elementnamen. Um diese Elemente in Go darzustellen, ist eine Struktur mit einem dynamischen Elementnamen erforderlich.
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"` }
Der Typ xml.Name wird hier vorgestellt. Sein lokales Feld ermöglicht die dynamische Einstellung von Elementnamen:
type Person struct { XMLName xml.Name E1 string `xml:"ELEM1"` // ... }
Zur Laufzeit kann der Elementname zugewiesen werden:
person := Person{ XMLName: xml.Name{Local: "Person"}, // ... }
Beachten Sie, dass die Strukturfelder (E1 - E4) muss exportiert werden (mit Großbuchstaben beginnen), um in die XML-Ausgabe aufgenommen zu werden.
Ein praktisches Beispiel finden Sie im Folgenden Spielplatz:
http://play.golang.org/p/bzSutFF9Bo
Das obige ist der detaillierte Inhalt vonWie legt man XML-Elementnamen in Go-Strukturen dynamisch fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!