gpt4 book ai didi

xml - golang - 提取 xml 字符串中的元素

转载 作者:IT王子 更新时间:2023-10-29 01:10:50 26 4
gpt4 key购买 nike

我想提取所有 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)
}

最佳答案

它只解码导出,因此 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)
}

关于xml - golang - 提取 xml 字符串中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29670462/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com