无法解组这个xml

Kai*_*oze 2 xml go

试图了解如何在Go中解组XML.阅读多个示例和stackoverflow问题.我想要的是在系统上安装所有补丁的切片.我甚至无法获得解组的解组,没有错误,只是一个空片.可能做的事情基本上是错误的,提前感谢任何建议.

<probe version="1.3" date="2012-03-26:17:10">
     <properties>
     </properties>
     <patches group="server">
        <file name="5002012-02-09CR00000server.jar"/>
        <file name="5002012-02-17CR00001server.jar"/>
     </patches>
     <patches group="client">
        <file name="5002012-02-09CR00000client.jar"/>
        <file name="5002012-02-17CR00001client.jar"/>
     </patches>
</probe>
Run Code Online (Sandbox Code Playgroud)
type Patch struct {
    group string `xml:"group,attr"`
}

type Probe struct {
    XMLName xml.Name `xml"probe"`
    Patches []Patch `xml:"patches"`
}
Run Code Online (Sandbox Code Playgroud)

ANi*_*sus 6

我相信你遇到的问题是xml包没有填充未导出的字段.xml文档说:

因为Unmarshal使用反射包,所以它只能分配给导出的(大写)字段.

您需要做的就是group改为Group:

type Patch struct { Group string `xml:"group,attr"` }
Run Code Online (Sandbox Code Playgroud)

你有一个工作的例子:http: //play.golang.org/p/koSzZr-Bdn