【发布时间】:2015-08-27 10:55:14
【问题描述】:
我正在尝试解组一个简单的嵌套 opml 文档。当我嵌套了 opml 并且我无法决定结构时,问题就来了。我把代码放在下面。请告诉我如何解析 Outline 结构的多级嵌套。
http://play.golang.org/p/FobiL1JDdb
package main
import (
"encoding/xml"
"fmt"
)
var response = `<opml version='1.0'>
<head>
<title>More Cases</title>
<expansionState>1,6,26</expansionState>
</head>
<body>
<outline text='Testing' _note='indeterminate'>
<outline text='Weekly' _status='indeterminate'>
</outline>
</outline>
</body>
</opml>`
type Opml struct {
XMLName xml.Name
Version string `xml:"version,attr"`
Head Head `xml:"head"`
Body Body `xml:"body"`
}
type Head struct {
Title string `xml:"title"`
ExpansionState string `xml:"expansionState"`
}
type Body struct {
Outline Outline `xml:"outline"`
}
type Outline struct {
Text string `xml:"text,attr"`
Note string `xml:"_note,attr"`
}
func main() {
fmt.Println("UnMrashal XML")
opml := &Opml{}
xml.Unmarshal([]byte(response), opml)
fmt.Println(opml)
}
【问题讨论】: