我正在尝试使用 encoding/xml 包创建一个具有以下顺序的 xml 文件,并且我已经为静态子元素和转换子元素定义了结构,现在问题是我需要以重复格式使用它,所以我创建了另一个结构来保存静态和过渡结构的切片,但结果是静态元素都出现在过渡元素之前,但我需要它们按顺序交替。这是我想要的结构:
<background>
//...
<static>
<duration></duration>
<file></file>
</static>
<transition>
<duration>
<from></from>
<to></to>
</transition>
<static>
<duration></duration>
<file></file>
</static>
<transition>
<duration>
<from></from>
<to></to>
</transition>
//...
</background>
但这就是我得到的:
<background>
//...
<static>
<duration></duration>
<file></file>
</static>
<static>
<duration></duration>
<file></file>
</static>
<transition>
<duration>
<from></from>
<to></to>
</transition>
<transition>
<duration>
<from></from>
<to></to>
</transition>
//...
</background>
关于我如何做到这一点的任何帮助。这些是我创建的结构:
type Static struct {
Duration int `xml:"duration"`
File string `xml:"file"`
}
type Transition struct {
Duration float64 `xml:"duration"`
From string `xml:"from"`
To string `xml:"to"`
}
type ST struct {
Static []Static `xml:"static"`
Transition []Transition `xml:"transition"`
}
type Background struct {
XMLName xml.Name `xml:"background"`
Comment string `xml:",comment"`
ST
}