我对编组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))
}
答案 0 :(得分:2)
您可以像下面这样定义结构:
type foo struct {
XMLName xml.Name `xml:"root"`
Element struct{
xml.Name `xml:"element"`
Abc string `xml:"abc,attr"`
}
}