以下是从 XML 到 Go 的结构转换的输出
type Metadata struct {
XMLName xml.Name `xml:"metadata"`
Text string `xml:",chardata"`
Ns2 string `xml:"ns2,attr"`
PasMetadata struct {
Text string `xml:",chardata"`
SimpleValue struct {
Text string `xml:",chardata"`
Entry struct {
Text string `xml:",chardata"`
Key string `xml:"key"`
Value string `xml:"value"`
} `xml:"entry"`
} `xml:"simple_value"`
} `xml:"pas_metadata"`}
但基于嵌套匿名结构的建议创建了其他结构如下
type PasMetadata struct {
Text string `xml:",chardata"`
SimpleValue `xml:"simple_value"`
}
type SimpleValue struct {
Text string `xml:",chardata"`
Entry `xml:"entry"`
}
type Entry struct {
Text string `xml:",chardata"`
Key string `xml:"key"`
Value string `xml:"value"`
}
type Metadata struct {
XMLName xml.Name `xml:"metadata"`
Text string `xml:",chardata"`
Ns2 string `xml:"ns2,attr"`
PasMetadata `xml:"pas_metadata"`
}
现在使用以下语句进行初始化时出错
metinfo := Metadata{Ns2: "http://test.com", PasMetadata{SimpleValue{Entry{Key: "testcode", Value: "testvalue"}}}}
错误是:field:value 和 value 初始值设定项的混合
SMILET
相关分类