gpt4 book ai didi

xml - 如何从 marshal 重新排序 xml 标签

转载 作者:数据小太阳 更新时间:2023-10-29 03:07:57 24 4
gpt4 key购买 nike

我为其导出 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 文件,修改了数据并编码退出。我需要保留标签顺序。

最佳答案

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

type xml struct {
Item []ItemStruct `xml:",any"`
}

type ItemStruct struct {
XMLName xml.Name
Value string `xml:",chardata"`
}

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

关于xml - 如何从 marshal 重新排序 xml 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57928065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com