为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 marshal 重新排序 xml 标签

如何从 marshal 重新排序 xml 标签

Go
叮当猫咪 2023-07-26 13:09:09
我正在导出 XML 的程序似乎希望 xml 标签按特定顺序排列,如下例所示<xml>  <tagType1>data 1</tagType1>  <tagType2>data 2</tagType2>  <tagType1>data 3</tagType1>  <tagType2>data 4</tagType2></xml>在 go 中,我编组为如下所示的结构type xml struct {  TagType1 []string `xml:"tagType1"`  TagType2 []string `xml:"tagType2"`}当我将其整理出来时,它会对预期的标签进行排序,但这不是我需要的。<xml>  <tagType1>data 1</tagType1>  <tagType1>data 3</tagType1>  <tagType2>data 2</tagType2>  <tagType2>data 4</tagType2></xml>有没有办法使用encoding/xml 包来重现第一个示例中的输出?顺序有所不同。我读取具有特定命令的 xml 文件,修改数据并编组返回。我需要保留标签顺序。
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

你应该能够使用这样的东西:


type xml struct {

   Item []ItemStruct `xml:",any"`

}


type ItemStruct struct {

  XMLName xml.Name

  Value string `xml:",chardata"`

}

这样你就可以保持顺序,但是你需要通过以下方式从每个项目中获取元素名称Item[i].XMLName


查看完整回答
反对 回复 2023-07-26
  • 1 回答
  • 0 关注
  • 55 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信