go生成xml

package main

import (
	"encoding/xml"
	"fmt"
	// "os"
)

type Servers struct {
	XMLName xml.Name `xml:"servers"`
	Version string   `xml:"version,attr"`
	Svs     []server `xml:"server"`
}

type server struct {
	ServerName string `xml:"serverName"`
	ServerIP   string `xml:"serverIP"`
}

func main() {
	v := &Servers{Version: "1"}
	v.Svs = append(v.Svs, server{"Shanghai_VPN", "127.0.0.1"})
	v.Svs = append(v.Svs, server{"Beijing_VPN", "127.0.0.2"})
	output, err := xml.MarshalIndent(v, "  ", "    ")
	if err != nil {
		fmt.Printf("error: %v
", err)
	}
	// os.Stdout.Write([]byte(xml.Header))

	// os.Stdout.Write(output)
	//将字节流转换成string输出
	fmt.Println(string(output))
}
原文地址:https://www.cnblogs.com/zheng-chuang/p/6059365.html