Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menetapkan Nama Elemen XML secara Dinamik dalam Go Structs?

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

Susan Sarandon
Susan Sarandonasal
2024-11-25 15:34:10564semak imbas

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"`
}

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

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

Pada masa jalan, nama elemen boleh diberikan:

person := Person{
    XMLName: xml.Name{Local: "Person"},
    // ...
}

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!

Kenyataan:
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