package main import ( "bytes" "encoding/xml" ) type Person struct { Name string Age int Friend *Person } func main() { friend := Person{"john", 40, nil} person := Person{"paul", 71, &friend} var buf bytes.Buffer buf.Write([]byte(xml.Header)) b, _ := xml.Marshal(person) buf.Write(b) println(buf.String()) } 出力 <?xml version="1.0" encoding="UTF-8"?> <Person><Name>paul</Name><Age>71</Age><Friend><Name