背景:我们有项目需要使用golang语言解析rabbitmq.xml。并把里面的内容解析出来,但是在解析的时候遇到了问题,最后通过google搜索,在stackoverflow上找到了解决方案,目前好像没有中文的解决方案,所以就写下这篇博客,当其他的开发者遇到同样的问题时,可以方便排查,不走弯路。遇到无法解决的问题时请用Google,大概率还是可以找到解决方法的。
一、基础的解析XML方法
假如我们要解析如下的xml文件的内容:
<beans>
<queue id="myQueue" name="myQueue" durable="true" auto-delete="false" exclusive="false" />
</beans>
1. 首先是构造对应的struct对象
type Beans struct {
XMLName xml.Name `xml:"beans"`
RabbitQueues []RabbitQueue `xml:"queue"`
}
type RabbitQueue struct {
Name string `xml:"name,attr"`
Id string `xml:"id,attr"`
}
2. 调用golang里面的方法,将字符串转为struct对象。然后直接利用struct对象