猿问

进行XML编组和根元素

在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”`)将结构中的字段编组为其他名称,例如结构名称,但这似乎不是一种选择。


我有使用模板的解决方法,但是知道一个更好的答案将非常高兴。


斯蒂芬大帝
浏览 165回答 1
1回答
随时随地看视频慕课网APP

相关分类

Go
我要回答