XML 编码:混合属性和元素

我有一个关于编组 Go XML 的问题:我明白了:


<root abc="">

  <element></element>

</root>

但我想要这样:


<root>

  <element abc=""></element>

</root>

(该属性abc位于子元素处)。


这(容易)可能吗?


我的代码:


package main


import (

    "encoding/xml"

    "fmt"

    "os"

)


type foo struct {

    XMLName xml.Name `xml:"root"`

    Abc     string   `xml:"abc,attr"`

    Element string   `xml:"element"`

}


func main() {

    f := foo{}

    a, err := xml.MarshalIndent(f, "", "  ")

    if err != nil {

        fmt.Println(err)

        os.Exit(0)

    }

    fmt.Println(string(a))

}


吃鸡游戏
浏览 107回答 1
1回答

天涯尽头无女友

您可以像这样定义结构:type foo struct {&nbsp; &nbsp; XMLName xml.Name `xml:"root"`&nbsp; &nbsp; Element struct{&nbsp; &nbsp; &nbsp; &nbsp; xml.Name `xml:"element"`&nbsp; &nbsp; &nbsp; &nbsp; Abc&nbsp; &nbsp; &nbsp;string&nbsp; &nbsp;`xml:"abc,attr"`&nbsp; &nbsp; }&nbsp;&nbsp;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go