Golang - 解组额外的 XML 属性

bru*_*oqc 4 go

有没有办法用动态属性解组 XML 标签(我不知道每次都会得到哪些属性)。

也许还不支持。请参阅问题 3633:encoding/xml:支持收集所有属性

就像是 :

package main

import (
    "encoding/xml"
    "fmt"
)

func main() {
    var v struct {
        Attributes []xml.Attr `xml:",any"`
    }

    data := `<TAG ATTR1="VALUE1" ATTR2="VALUE2" />`

    err := xml.Unmarshal([]byte(data), &v)
    if err != nil {
        panic(err)
    }
    fmt.Println(v)
}
Run Code Online (Sandbox Code Playgroud)

Nic*_*ire 6

截至 2017 年底,这通过以下方式得到支持:

var v struct {
    Attributes []xml.Attr `xml:",any,attr"`
}
Run Code Online (Sandbox Code Playgroud)

请参阅https://github.com/golang/go/issues/3633