...

Source file src/github.com/clbanning/mxj/v2/examples/gitissue1.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  )
    11  
    12  var data = []byte(`
    13  <?xml version="1.0" encoding="utf-8"?>
    14  <doc><elem>just something to demo</elem></doc>
    15  `)
    16  
    17  func 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  

View as plain text