1// https://github.com/clbanning/mxj/issues/17 2 3package main 4 5import ( 6 "bytes" 7 "fmt" 8 "github.com/clbanning/mxj" 9 "io" 10) 11 12var data = []byte(` 13<?xml version="1.0" encoding="utf-8"?> 14<doc><elem>just something to demo</elem></doc> 15`) 16 17func main() { 18 r := bytes.NewReader(data) 19 m := make(map[string]interface{}) 20 var v map[string]interface{} 21 var err error 22 for { 23 v, err = mxj.NewMapXmlSeqReader(r) 24 if err != nil { 25 if err == io.EOF { 26 break 27 } 28 if err != mxj.NoRoot { 29 // handle error 30 } 31 } 32 for key, val := range v { 33 m[key] = val 34 } 35 } 36 fmt.Printf("%v\n", m) 37} 38