我在这里举个例子: https://www.socketloop.com/tutorials/golang-create-new-xml-file
如果它在 Staff 之后更深一层怎么办?
type Staff struct {
XMLName xml.Name `xml:"staff"`
ID int `xml:"id"`
FirstName string `xml:"firstname"`
LastName string `xml:"lastname"`
UserName string `xml:"username"`
Thing Thing `xml:"thing"`
}
我将如何追加?我试过这样的事情:
v.Staffs = append(v.Staffs, Staff{ID: 108, FirstName: "Jennifer", LastName: "Loh", UserName: "jenniferloh", Thing.tape: "scotch"})
但是只使两个循环迭代的语句有效并且很丑陋:
v.Staffs = append(v.Staffs, Staff{ID: 108, FirstName: "Jennifer", LastName: "Loh", UserName: "jenniferloh"})
v.Staffs.Thing[i] = append(v.Staffs.Thing, Thing{scotch: "tape"})
有更好的方法吗?谢谢。
最佳答案
type Thing struct {
stuff string `xml:"stuff"`
}
type Staff struct {
XMLName xml.Name `xml:"staff"`
ID int `xml:"id"`
FirstName string `xml:"firstname"`
LastName string `xml:"lastname"`
UserName string `xml:"username"`
Thing Thing `xml:"thing"`
}
stuff := Thing{Stuff: "120"}
v.Staffs = append(v.Staffs, Staff{ID: 108, FirstName: "Jennifer", LastName: "Loh", UserName: "jenniferloh", Thing: stuff})
关于xml - Golang xml marshal 追加更深的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29441029/