使用冲突的元素名称在 Go 中解组 XML

我有以下 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。


翻过高山走不出你
浏览 186回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go