我试图获得以下
XML输出
<?xml version="1.0" encoding="UTF-8"?> <CreateHostedZoneRequest xmlns="https://route53.amazonaws.com/doc/2012-12-12/"> <Name>DNS domain name</Name> <CallerReference>unique description</CallerReference> <HostedZoneConfig> <Comment>optional comment</Comment> </HostedZoneConfig> </CreateHostedZoneRequest>
我有以下输出非常接近的XML,但我无法编码到CreateHostedZoneRequest
xmlns=”https://route53.amazonaws.com/doc/2012-12-12/
package main import "fmt" import "encoding/xml" type ZoneRequest struct { Name string CallerReference string Comment string `xml:"HostedZoneConfig>Comment"` } var zoneRequest = ZoneRequest{ Name: "DNS domain name",CallerReference: "unique description",Comment: "optional comment",} func main() { tmp,_ := createHostedZoneXML(zoneRequest) fmt.Println(tmp) } func createHostedZoneXML(zoneRequest ZoneRequest) (response string,err error) { tmp := struct { ZoneRequest XMLName struct{} `xml:"CreateHostedZoneRequest"` }{ZoneRequest: zoneRequest} byteXML,err := xml.MarshalIndent(tmp,"",` `) if err != nil { return "",err } response = xml.Header + string(byteXML) return }
http://play.golang.org/p/pyK76VPD5-
如何将xmlns编码到CreateHostedZoneRequest中?
你可以这样做,这可能不是最优雅的解决方案,但似乎工作
type ZoneRequest struct { Name string CallerReference string Comment string `xml:"HostedZoneConfig>Comment"` Xmlns string `xml:"xmlns,attr"` } var zoneRequest = ZoneRequest{ Name: "DNS domain name",Xmlns: "https://route53.amazonaws.com/doc/2012-12-12/",}
生产
<?xml version="1.0" encoding="UTF-8"?> <CreateHostedZoneRequest xmlns="https://route53.amazonaws.com/doc/2012-12-12/"> <Name>DNS domain name</Name> <CallerReference>unique description</CallerReference> <HostedZoneConfig> <Comment>optional comment</Comment> </HostedZoneConfig> </CreateHostedZoneRequest>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。