如果我有一个结构,我希望能够使用(使用编码/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))
}
- 1 回答
- 0 关注
- 338 浏览
添加回答
举报
0/150
提交
取消