在Go 中建立不帶結束標記的XML 元素
在這種情況下,您有一個嵌套的Go 結構,它表示帶有巢狀元素的XML 信封.
// 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"` }
您使用encoding/xml將此結構編組為XML,但您想要去掉soapenv:Header 和typ:Context 的結束標籤,使其具有空元素標籤,例如
這兩種形式之間沒有XML 等級的差異,因為都是空的元素標籤在功能上等同於沒有內容的元素的結束標籤。換句話說,在任何一種情況下,XML 的內容都是相同的:
<soapenv:Header></soapenv:Header>
<soapenv:Header/>
因此,無法使用標準 XML 來控制空元素標籤與結束標籤的使用技術。
以上是如何在 Go 中建立不帶關閉標籤的 XML 元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!