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

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

如果 xml.Marshal 為空,則忽略結構

如果 xml.Marshal 為空,則忽略結構

Go
明月笑刀無情 2023-06-19 17:03:22
我需要輸出一個 XML 文件,并且我構建了一些表示它的結構作為一個基本示例,如下所示:type Parent struct {    XMLName xml.Name `xml:"parent"`    Name    string   `xml:"name,omitempty"`    Age     int64    `xml:"age,omitempty"`    Child   Child    `xml:"child,omitempty`}type Child struct {    XMLName  xml.Name `xml:"child,omitempty"`    Name     string   `xml:"name,omitempty"`    Gender   string   `xml:"gender,omitempty"`    Thoughts string   `xml:",innerxml,omitempty"`}我希望當我創建一個Parent不定義子項,然后將其編組到一個 XML 文件中時......parent := Parent{    Name: "Beatrice",    Age: "23",}_ = xml.MarshalIndent(parent, "", "    ")...我應該得到一個不包含child標簽的 XML 文件:<parent>    <name>Beatrice</name>    <age>23</age></parent>相反,我得到這個:<parent>    <name>Beatrice</name>    <age>23</age>    <child></child></parent>為什么空<child></child>標簽在那里,我怎樣才能擺脫它?
查看完整描述

1 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

您有一些語法錯誤,但可以將 child 設置為指針:


type Parent struct {

    XMLName xml.Name `xml:"parent"`

    Name    string   `xml:"name,omitempty"`

    Age     int64    `xml:"age,omitempty"`

    Child   *Child    `xml:"child,omitempty"`

}

當它為零時,它將是空的。


工作演示


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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