func Marshal(data XMLdata) *bytes.Buffer { buf := bytes.NewBuffer(nil) if err := xml.Marshal(buf, data); err != nil { fmt.Println(err) } return buf }
func xmlEncode(i interface{}) (s string, err os.Error) { var buf bytes.Buffer err = xml.Marshal(&buf, i) if err != nil { return } s = buf.String() fmt.Printf("marshaled %v as %s\n", i, s) return }
func main() { data := xmlData{Name: "Peera", Msg: "Helllo"} buf := bytes.NewBuffer(nil) xml.Marshal(buf, data) fmt.Println(buf.String()) var buf2 = buf r := new(xmlData) if err := xml.Unmarshal(buf2, &r); err == nil { fmt.Println(r.Name, r.Msg) } else { fmt.Println(err) } }