drb88830 2017-08-29 15:40
浏览 35
已采纳

如何在Go中构建三层XML

I`ve do enough homework that i know how to build a one laver xml just like

<name>aaa</name><id>233</id>

But im puzzled by how to build a three or more layers xml in go now.

<Person>
    <Id>233</Id>
    <Information>
        <name>aaa</name>
    </Information>
</Person>

I know i can use Person.Id = 233 but i cant do more. Need help, im a new, thks a lot!

  • 写回答

1条回答 默认 最新

  • duangu4980 2017-08-29 15:47
    关注

    You just have to nest the structs. You can go as deep as you want e.g. Info could have yet another struct inside it.

    https://play.golang.org/p/pADEJXj8En

    type Person struct {
        Id int
        Information Info
    }
    
    type Info struct {
        Name string `xml:"name"`
    }
    
    func main() {
        p := &Person{
            Id: 233,
            Information: Info {
                Name: "aaa",
            },
        }
        dat, err := xml.Marshal(p)
        if err != nil {
            return
        }
        fmt.Println(string(dat))
    }
    

    For further information, refer to the documentation https://godoc.org/encoding/xml#Marshal and the example given there: https://godoc.org/encoding/xml?play=MarshalIndent

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 对于这个问题的代码运行
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败