【发布时间】:2017-11-28 11:42:23
【问题描述】:
我要解析很多 XML 文档,我已经知道解析文件的逻辑,但问题是,每个 xml 文件的标签都不一样。
这是我目前所拥有的
type Data struct {
Rows []Info `xml:"domain-google.com"` // <- This is custom and needs to change (e.g. the next xml doc tag will be `xml:"domain-facebook.com"`
}
type Info struct {
Domain string `xml:"domain"`
}
// 解析xml的示例逻辑
xmlFile, err := http.Get("somefiles.xml")
if err != nil { fmt.Println(err) }
var data Data
if err = xml.NewDecoder(xmlFile.Body).Decode(&data); err != nil {
fmt.Println(err)
}
for _, rows := range data.Rows {
fmt.Println(rows.Domain)
}
示例 xml 文档
<response>
<!-- This tag is what is custom every time -->
<domain-google.com>
<domain>google.com</domain>
</domain-google.com>
</response>
<response>
<!-- This tag is what is custom every time -->
<domain-facebook.com>
<domain>facebook.com</domain>
</domain-facebook.com>
</response>
知道如何解决这个问题吗?
先谢谢你了。
【问题讨论】:
-
你的例子不是很清楚,什么包装响应标签?
-
没有包裹响应标签。该示例是整个 XML 文档。