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))
}
JieErLiu :

您可以像下面这样定义结构:

type foo struct {
    XMLName xml.Name `xml:"root"`
    Element struct{
        xml.Name `xml:"element"`
        Abc     string   `xml:"abc,attr"`
    }  
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章