Bagaimana untuk Menetapkan Nama Elemen XML secara Dinamik dalam Go Structs?

Susan Sarandon
Lepaskan: 2024-11-25 15:34:10
asal
567 orang telah melayarinya

How to Dynamically Set XML Element Names in Go Structs?

Mentakrifkan Secara Dinamik Nama Elemen XML dalam Go

Pertimbangkan fail XML dengan dua elemen struktur yang sama, kecuali untuk nama elemen. Untuk mewakili elemen ini dalam Go, struct dengan nama elemen dinamik dikehendaki.

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"`
}
Salin selepas log masuk

Jenis xml.Name diperkenalkan di sini. Medan Setempatnya membenarkan tetapan dinamik nama elemen:

type Person struct {
    XMLName xml.Name
    E1 string `xml:"ELEM1"`
    // ...
}
Salin selepas log masuk

Pada masa jalan, nama elemen boleh diberikan:

person := Person{
    XMLName: xml.Name{Local: "Person"},
    // ...
}
Salin selepas log masuk

Perhatikan bahawa medan struct (E1 - E4) mesti dieksport (bermula dengan huruf besar) untuk disertakan dalam output XML.

Untuk contoh praktikal, rujuk taman permainan berikut:

http://play.golang.org/p/bzSutFF9Bo

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Nama Elemen XML secara Dinamik dalam Go Structs?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan