亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用額外標簽將結構編組為 xml

使用額外標簽將結構編組為 xml

Go
侃侃爾雅 2023-07-04 14:52:53
我正在 Go 中開發一個 twilio 電話服務器,并且有一些引用要生成的 xml 的結構。例如:type Say struct {    XMLName xml.Name `xml:"Say"`    Text string `xml:",chardata"`}type Response struct {    XMLName xml.Name `xml:"Response"`    Says []Say `xml:",omitempty"`}當 Says 數組填充兩個包含“Something”和“Something else”的 Say 結構時,會生成:<Response>  <Say>Something</Say>  <Say>Something else</Say></Response>但在大聲說出“某事”之后,就沒有停頓,緊接著就出現了“其他事”。twilio 為此創建了一個暫停標簽,讓它暫停一秒鐘。所以我想要的是生成這樣的 xml:<Response>  <Say>Something</Say>  <Pause></Pause>  <Say>Something else</Say>  <Pause></Pause></Response>但這如何在 go 結構中表示呢?如何擠入額外的 Pause 標簽作為 Say 標簽的同級標簽?type Say struct {    XMLName xml.Name `xml:"Say"`    Text string `xml:",chardata"`    ???? Pause `xml:Pause,sibling?????`}type Response struct {    XMLName xml.Name `xml:"Response"`    Says []Say `xml:",omitempty"`}
查看完整描述

1 回答

?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

找到了使用接口的解決方案


type Say struct {

    XMLName xml.Name `xml:"Say"`


    Text string `xml:",chardata"`

}


type Response struct {

    XMLName xml.Name `xml:"Response"`

    Says []interface{}

}

缺少實際類型名稱不會生成“Says”標簽。


var r Response


r.Says = append(r.Says, Say { Text: "hello"})


查看完整回答
反對 回復 2023-07-04
  • 1 回答
  • 0 關注
  • 149 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號