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

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

Go XML Marshal:切片的意外輸出

Go XML Marshal:切片的意外輸出

Go
Smart貓小萌 2022-07-11 15:05:38
有一個結構,其成員之一是切片:type Package struct {    Name string    ...    Files []File}type File struct {    Name string    ...}我曾經encoding/xml編組過這種結構。這就是我得到的:<Package>    <Name>example</Name>    <Files>        <Name>Example1</Name>    </Files>    <Files>        <Name>Example2</Name>    </Files></Package>這不是我想要的行為。我想把它編組成這種格式:<Package>    <Name>example</Name>    <Files>        <File>            <Name>Example1</Name>        </File>        <File>            <Name>Example2</Name>        </File>    </Files></Package>我是 Golang 的新手,對它的切片和編組機制知之甚少。雖然這聽起來像是一個愚蠢的問題,但我怎樣才能達到預期的(第二種)格式?
查看完整描述

1 回答

?
鳳凰求蠱

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

編組和解組規則在encoding/xml. 例如上一節xml.Marshal說:


如果字段使用標簽“a>b>c”,則元素 c 將嵌套在父元素 a 和 b 中。名稱相同的相鄰字段將包含在一個 XML 元素中。


所以你應該能夠通過這個實現你想要的:


type Package struct {

    Name  string

    Files []File `xml:"Files>File"`

}


// this also works

type Package struct {

    Name  string

    Files []File `xml:">File"`

}

https://play.golang.org/p/gg-6Tj3WNnV


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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