在运行时更改结构标记 (xml)

有一个结构:


type S struct {

  Value string `xml:"value,attr"`

}

我想将结构编码为 XML 文件。但是,我希望Value每个文件中的属性名称都不同:


s1 := S{

  Value: "One"

}

应该编码为:


<S value="One"></S>


s2 := S{

  Value: "Two"

}

应该编码为:


<S category="Two"></S>

因此,我需要以某种方式更改 XML 元素名称,或者更改字段上的标记。这可能吗?


我检查了reflect(https://golang.org/pkg/reflect/#Value.FieldByName),但由于FieldByName返回值类型并且没有Set方法,我认为不可能使用反射。


饮歌长啸
浏览 191回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go