为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Go 中编组 xml 但忽略空字段

如何在 Go 中编组 xml 但忽略空字段

Go
富国沪深 2021-11-08 10:21:42
如果我有一个结构,我希望能够使用(使用编码/xml)对 xml 中的内容进行编组/解组 - 我如何不打印空属性?package mainimport (    "encoding/xml"    "fmt")type MyThing struct {    XMLName xml.Name `xml:"body"`    Name    string   `xml:"name,attr"`    Street  string   `xml:"street,attr"`}func main() {    var thing *MyThing = &MyThing{Name: "Canister"}    result, _ := xml.Marshal(thing)    fmt.Println(string(result))}例如见http://play.golang.org/p/K9zFsuL1Cw在上面的操场上,我不想写出我的空街道属性;我怎么能那样做?
查看完整描述

1 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

omitempty在street场上使用标志。


从Go XML 包:


如果字段值为空,则省略带有包含“omitempty”选项的标签的字段。空值是 false、0、任何 nil 指针或接口值,以及任何长度为零的数组、切片、映射或字符串。

如果是您的示例:


package main


import (

    "encoding/xml"

    "fmt"

)


type MyThing struct {

    XMLName xml.Name `xml:"body"`

    Name    string   `xml:"name,attr"`

    Street  string   `xml:"street,attr,omitempty"`

}


func main() {

    var thing *MyThing = &MyThing{Name: "Canister"}

    result, _ := xml.Marshal(thing)

    fmt.Println(string(result))

}


查看完整回答
反对 回复 2021-11-08
  • 1 回答
  • 0 关注
  • 338 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信