我想提取所有的loc元素值,但是我得到了一个空数组
我的代码:
package main
import (
"fmt"
"encoding/xml"
)
type Query struct {
XMLName xml.Name `xml:"urlset"`
locs []Loc `xml:"url>loc"`
}
type Loc struct {
loc string
}
var data = []byte(`<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.konga.com/mobile-recharge</loc>
<lastmod>2015-04-14</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>http://www.konga.com/beauty-health-personal-care</loc>
<lastmod>2015-04-14</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
</urlset>`)
func main() {
var q Query
xml.Unmarshal(data, &q)
fmt.Println(q.locs)
}发布于 2015-04-16 09:32:36
它只解压缩导出,因此Caps字段。另外,Loc不应该是一个结构,而可以是一个直接的字符串。
package main
import (
"encoding/xml"
"fmt"
)
type Query struct {
XMLName xml.Name `xml:"urlset"`
Locs []Loc `xml:"url>loc"`
}
type Loc string
var data = []byte(`<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.konga.com/mobile-recharge</loc>
<lastmod>2015-04-14</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>http://www.konga.com/beauty-health-personal-care</loc>
<lastmod>2015-04-14</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
</urlset>`)
func main() {
var q Query
xml.Unmarshal(data, &q)
fmt.Println(q.Locs)
}https://stackoverflow.com/questions/29670462
复制相似问题