Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mencipta Elemen XML tanpa Teg Penutup dalam Go?

Bagaimana untuk Mencipta Elemen XML tanpa Teg Penutup dalam Go?

Linda Hamilton
Linda Hamiltonasal
2024-11-17 03:02:03527semak imbas

How to Create XML Elements without Closing Tags in 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!

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