问题描述

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

package service

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


type serverIP struct{
    IPV4 string
    IPV6 string
}
type server struct{
    ServerName string
    ServerIPs []serverIP
}
type Servers struct {
    Version string `xml:"version,attr"`
    Svs []server `xml:"data>server"`
}
func TestBuildNet(t *testing.T) {
    ip:=new(serverIP)
    ip.IPV4="127.0.0.1"
    ip.IPV6="wewewew"
    Server:=new(server)
    Server.ServerName="GLEKE"

    Server.ServerIPs=append(Server.ServerIPs,serverIP{"127.0.0.1","WWWWW"})
    Server.ServerIPs=append(Server.ServerIPs,serverIP{"127.0.0.2", "WWWWWSDFD"})

    v := &Servers{Version : "1"}


    output, err := xml.MarshalIndent(v,"  ", "    ")
    if err != nil{
        fmt.Printf("error : %v\n", err)
    }
    os.Stdout.Write([]byte(xml.Header)) //输出预定义的xml头  <?xml version="1.0" encoding="UTF-8"?>
    os.Stdout.Write(output)

}

你期待的结果是什么?实际看到的错误信息又是什么?

如何正确对嵌套的结构体赋值,生成的XML如何转换为string