我想用 Go 解析和序列化 xml,但看起来 Marshall/Unmarshall 只适用于结构化数据,而不适用于有序指令。我想做这样的事情:
type Play struct {
loops uint16
// Body of element is file name
}
type Say struct {
loops uint16
voice string
}
func (p *Play) Execute() (err error) {
// Play the file
}
xml := `<Root>
<Say>Playing file</Say>
<Play loops="2">https://host/somefile.mp3</Play>
<Say>Done playing</Say>
</Root>`
我想接受它并最终得到其中的一部分,我可以在上面运行方法。
for _, instruction := range actions {
instruction.Execute()
}
我怎样才能做到这一点Unmarshall?
编辑:也许我可以Decoder根据标签名称使用循环遍历和解组每个?
相关分类