title: GOLANG xml decoding
body: <p>In Go, I'm trying to decode this XML into the "fileRetriever" struct. I only care about the file names:</p>
  
  <pre><code> &lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;
   &lt;FileRetriever&gt;
     &lt;FileList&gt;
         &lt;File name="Name1" /&gt;
         &lt;File name="Name2" /&gt;
     &lt;/FileList&gt;
   &lt;/FileRetriever&gt;
  </code></pre>
  
  <p>I think this code snippet is close, but I can't seem to see where I'm going wrong. It produces no errors, but also a zero-length list of file names:</p>
  
  <pre><code>import (
      "encoding/base64"
      "encoding/xml"
      "fmt"
      "net/http"
  
      "golang.org/x/net/html/charset"
  
  )
  type fileRetriever struct {
      Files []file `xml:"FileRetriever&gt;FileList&gt;File"`
  }
  
  type file struct {
      Name string `xml:"name,attr"`
  }
  
  func Main(){
      retrieve()
  }
  
  func retrieve()(retriever *fileRetriever){
      req := ... //set up http.NewRequest()
      client := &amp;http.Client{}
      rsp, err := client.Do(req)
  
      if err != nil {
          log.Fatal(err)
      }
  
      defer rsp.Body.Close()
  
      decoder := xml.NewDecoder(rsp.Body)
      decoder.CharsetReader = charset.NewReaderLabel
  
      retriever = &amp;fileRetriever{}
  
      err = decoder.Decode(&amp;retriever)
  
      if err != nil {
          fmt.Println(err)
      }
  
      return retriever, xTidx
  }
  </code></pre>