在Go中,您可以将结构编组为XML,例如:
package main
import (
"encoding/xml"
"fmt"
)
type person struct {
Name string
Starsign string
}
func main() {
p := &person{"John Smith", "Capricorn"}
b,_ := xml.MarshalIndent(p,""," ")
fmt.Println(string(b))
}
产生输出:
<person>
<Name>John Smith</Name>
<Starsign>Capricorn</Starsign>
</person>
我的问题是,人员类型是小写的“ p”,因为我希望它对程序包是私有的。但我希望XML元素为大写:<Person>。可以使用标签(例如xml:“ name”`)将结构中的字段编组为其他名称,例如结构名称,但这似乎不是一种选择。
我有使用模板的解决方法,但是知道一个更好的答案将非常高兴。
相关分类