Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mencipta Elemen XML tanpa Teg Penutup dalam Go?
Buat Elemen XML tanpa Teg Penutup dalam Go
Dalam senario ini, anda mempunyai struct Go bersarang yang mewakili sampul XML dengan elemen bersarang .
// TierRequest is the outer most XML envelope of soap request type TierRequest struct { XMLName xml.Name `xml:"soapenv:Envelope"` NsEnv string `xml:"xmlns:soapenv,attr"` NsType string `xml:"xmlns:typ,attr"` Header string `xml:"soapenv:Header"` Body TierBody `xml:"soapenv:Body"` } // TierBody is an emtpy container with the GetCollectorProfile struct type TierBody struct { GetCollectorProfiles GetCollectorProfile `Collectorxml:"typ:GetCollectorProfileRequest"` } // GetCollectorProfile struct has the context and collector number type GetCollectorProfile struct { Contexts CollectorContext `xml:"typ:Context"` Number int `xml:"typ:CollectorNumber"` } // CollectorContext contanins a few variables as attributes type CollectorContext struct { Channel string `xml:"Channel,attr"` Source string `xml:"Source,attr"` Language string `xml:"LanguageCode,attr"` }
Anda menyusun struct ini kepada XML menggunakan pengekodan/xml, tetapi anda mahu menyingkirkan teg penutup untuk soapenv:Header dan typ:Context untuk mempunyai tag elemen kosong seperti
Tiada perbezaan tahap XML antara kedua-dua bentuk ini, kerana teg unsur kosong secara fungsinya bersamaan dengan tag akhir untuk elemen tanpa kandungan. Dalam erti kata lain, kandungan XML akan sama dalam mana-mana kes:
<soapenv:Header></soapenv:Header>
<soapenv:Header/>
Oleh itu, adalah tidak mungkin untuk mengawal penggunaan tag elemen kosong berbanding tag akhir menggunakan XML standard teknik.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Elemen XML tanpa Teg Penutup dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!