Общий ответ на ваш вопрос о том, как преобразовать XML-вход в вывод JSON, может быть примерно таким:
http://play.golang.org/p/7HNLEUnX-m
package main
import (
"encoding/json"
"encoding/xml"
"fmt"
)
type DataFormat struct {
ProductList []struct {
Sku string `xml:"sku" json:"sku"`
Quantity int `xml:"quantity" json:"quantity"`
} `xml:"Product" json:"products"`
}
func main() {
xmlData := []byte(`
ABC123
2
ABC123
2
`)
data := &DataFormat{}
err := xml.Unmarshal(xmlData, data)
if nil != err {
fmt.Println("Error unmarshalling from XML", err)
return
}
result, err := json.Marshal(data)
if nil != err {
fmt.Println("Error marshalling to JSON", err)
return
}
fmt.Printf("%s\n", result)
}