小编sca*_*off的帖子

转到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))
}
Run Code Online (Sandbox Code Playgroud)

产生输出:

<person>
   <Name>John Smith</Name>
   <Starsign>Capricorn</Starsign>
</person>
Run Code Online (Sandbox Code Playgroud)

我的问题是,人类型是小写的"p",因为我希望它是私有的包.但我更喜欢XML元素是大写的:<Person>.结构中的字段可以使用标记(例如`xml:"name"`)对结构字段编组到其他名称,但这似乎不是结构类型的选项.

我有一个使用模板的解决方法,但知道一个更好的答案会很高兴.

xml-serialization go

4
推荐指数
2
解决办法
5069
查看次数

标签 统计

go ×1

xml-serialization ×1