...

Source file src/github.com/clbanning/mxj/v2/examples/gitissue2.go

Documentation: github.com/clbanning/mxj/v2/examples

     1  // https://github.com/clbanning/mxj/issues/17
     2  
     3  package main
     4  
     5  import (
     6  	"bytes"
     7  	"fmt"
     8  	"github.com/clbanning/mxj"
     9  	"io"
    10  	"io/ioutil"
    11  )
    12  
    13  func main() {
    14  	b, err := ioutil.ReadFile("gitissue2.dat")
    15  	if err != nil {
    16  		fmt.Println("err:", err)
    17  		return
    18  	}
    19  	r := bytes.NewReader(b)
    20  	m := make(map[string]interface{})
    21  	for {
    22  		v, err := mxj.NewMapXmlSeqReader(r)
    23  		// v, raw, err := mxj.NewMapXmlSeqReaderRaw(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  		// fmt.Println(string(raw))
    36  	}
    37  	fmt.Printf("%v\n", m)
    38  }
    39  

View as plain text