英文:
XML parsing with a root level element
问题
可以解析根级别的XML元素吗?
这个XML没有任何包装器 <message att='Hello'/>
var x = Xml{}
xml.Unmarshal([]byte(`<message att='Hello'/>`), &x)
fmt.Println(x)
Xml结构体
type Xml struct {
Message struct {
Att string `xml:"att,attr"`
} `xml:"message"`
}
英文:
Is it possible to parse root level XML elements?
This XML is without any wrapper <message att='Hello'/>
var x = Xml{}
xml.Unmarshal([]byte(`<message att='Hello'/>`), &x)
fmt.Println(x)
Xml Struct
type Xml struct {
Message struct {
Att string `xml:"att,attr"`
} `xml:"message"`
}
答案1
得分: 1
是的,你可以这样做。只需移除包装的 Xml
元素,并直接解组 Message
:
type Message struct {
Att string `xml:"att,attr"`
}
var x = Message{}
err := xml.Unmarshal([]byte(`<message att='Hello'/>`), &x)
if err != nil {
panic(err)
}
fmt.Println(x)
你可以在这个链接中查看示例代码:https://play.golang.org/p/EdtaWLm6Cl
英文:
Yes, you can do this. Simply remove the wrapping Xml
element and unmarshal Message
directly:
type Message struct {
Att string `xml:"att,attr"`
}
<!-- -->
var x = Message{}
err := xml.Unmarshal([]byte(`<message att='Hello'/>`), &x)
if err != nil {
panic(err)
}
fmt.Println(x)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论