Mencipta Elemen XML Tanpa Teg Penutup
Pertimbangkan struct Go bersarang berikut:
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"` // TierBody is an empty container with the GetCollectorProfile struct Body TierBody `Collectorxml:"typ:GetCollectorProfileRequest"` } type TierBody struct { GetCollectorProfiles GetCollectorProfile `Collectorxml:"typ:GetCollectorProfileRequest"` } type GetCollectorProfile struct { Contexts CollectorContext `xml:"typ:Context"` Number int `xml:"typ:CollectorNumber"` } type CollectorContext struct { Channel string `xml:"Channel,attr"` Source string `xml:"Source,attr"` Language string `xml:"LanguageCode,attr"` }
Apabila dimulakan dan disusun menggunakan pengekodan/xml, ia menghasilkan output berikut:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http:/www.yahoo.com/tp/ets/2008/04/01/collector/types"> <soapenv:Header></soapenv:Header> <soapenv:Body> <GetCollectorProfiles> <typ:Context Channel="WEB" Source="WEB" LanguageCode="en-CA"></typ:Context> <typ:CollectorNumber>50000</typ:CollectorNumber> </GetCollectorProfiles> </soapenv:Body> </soapenv:Envelope>
Teg Elemen Kosong lwn. Elemen Tanpa Kandungan
Perbezaan antara tag elemen kosong (cth. ,
Memilih Borang Teg
Untuk mengawal borang teg yang digunakan, layan data sebagai teks dan bukannya XML. Walau bagaimanapun, secara amnya tidak perlu bimbang tentang perbezaan ini, kerana ia tidak mempunyai implikasi praktikal.
Nota Sejarah
Satu pengesyoran lama mencadangkan agar tag elemen kosong digunakan semata-mata untuk elemen yang diisytiharkan sebagai KOSONG. Walau bagaimanapun, pengesyoran ini terutamanya untuk saling kendali dengan SGML dan tidak berkaitan untuk kebanyakan aplikasi XML moden.
Atas ialah kandungan terperinci Bagaimanakah anda membuat elemen XML tanpa menutup teg dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!