我有以下 XML,外部定义且不在我的组织控制范围内:
<foo>
<bar>
<zip>zip</zip>
</bar>
<bar>
<zap>zap</zap>
</bar>
</foo>
我正在使用这些结构:
type Foo struct {
XMLName xml.Name `xml:"foo"`
Bar1 Bar1
Bar2 Bar2
}
type Bar1 struct {
XMLName xml.Name `xml:"bar"`
Zip string `xml:"zip"`
}
type Bar2 struct {
XMLName xml.Name `xml:"bar"`
Zap string `xml:"zap"`
}
由于冲突的“酒吧”名称,没有任何东西被解组。如何填充 Bar1 和 Bar2 结构?
这就是我所拥有的:https : //play.golang.org/p/D2IRLojcTB
这是我想要的结果:https : //play.golang.org/p/Ytrbzzy9Ok
在第二个中,我已将第二个“bar”更新为“bar1”,并且一切正常。我宁愿提出一个更清晰的解决方案来修改传入的 XML。
相关分类