https://github.com/golang/go/issues/11496
示例使用链接中的示例, 我遇到的问题跟这个一样
<person xmlns:ns="ns">
<ns:name>Oliver</ns:name>
<ns:phone>110</ns:phone>
</person>
解析结构体定义如下
type Person struct {
XMLName xml.Name `xml:"ns person"`
Name string `xml:"ns name"`
Phone string `xml:"ns phone"`
}
Marshal后结果如下
<person xmlns="ns">
<name xmlns="ns">Oliver</name>
<phone xmlns="ns">110</phone>
</person>
以上是golang的一个bug, 最新1.9仍然会出现, 目前解决办法UnMarshal和Marshal的结构体不能一致.
UnMarshal
type Person struct {
XMLName xml.Name `xml:"person