将当前 XML 元素中的属性解组为匿名结构的工作原理是:package mainimport ( "encoding/xml" "fmt")type Attrs struct { Attr1 int `xml:"attr1,attr"` Attr2 int `xml:"attr2,attr"`}type Element struct { Attrs}func main() { data := `<element attr1="1" attr2="2"></element>` v := Element{} err := xml.Unmarshal([]byte(data), &v) if err != nil { fmt.Printf("error: %v", err) return } fmt.Printf("%#v\n", v)}这main.Element{Attrs:main.Attrs{Attr1:1, Attr2:2}}按预期打印。如果匿名结构成员被赋予一个名字,v.Attr1并且v.Attr2没有被解组。type Element struct { AttrGroup Attrs}在这种情况下,在 struct 成员上使用的正确标签是什么?
1 回答
猛跑小猪
TA贡献1858条经验 获得超8个赞
为什么不这样做呢?除了复杂性之外,我看不到命名结构会给您带来什么。
package main
import (
"encoding/xml"
"fmt"
)
type Element struct {
Attr1 int `xml:"attr1,attr"`
Attr2 int `xml:"attr2,attr"`
}
func main() {
data := `<element attr1="1" attr2="2"></element>`
v := Element{}
err := xml.Unmarshal([]byte(data), &v)
if err != nil {
fmt.Printf("error: %v", err)
return
}
fmt.Printf("%#v\n", v)
}
哪个打印
main.Element{Attr1:1, Attr2:2}
- 1 回答
- 0 关注
- 197 浏览
添加回答
举报
0/150
提交
取消