为了账号安全,请及时绑定邮箱和手机立即绑定

简单的 XML 解组返回空值

简单的 XML 解组返回空值

Go
慕桂英4014372 2021-10-25 16:50:29
我正在尝试在 Go 中解组一些基本的 XML。我之前已经能够在 Go 中解组非常大的 XML 文件,所以我在这里遇到的问题真的让我感到困惑。Unmarshalling 会发现一项,因为它应该找到一项,但所有值都是它们的默认值:字符串为空,浮点数为零。任何提示都会有所帮助。谢谢。XML<config><throttle delay="20" unit="s" host="feeds.feedburner.com"/></config>输出host:"", unit:"", delay:0.000000代码package mainimport (    "encoding/xml"    "fmt")// Config allows for unmarshling of the remote configuration file.type Config struct {    XMLName    xml.Name     `xml:"config"`    Throttlers []*Throttler `xml:"throttle"`}// Throttler stores the throttle information read from the configuration file.type Throttler struct {    host  string  `xml:"host,attr"`    unit  string  `xml:"unit,attr"`    delay float64 `xml:"delay,attr"`}func main() {    data := `        <config><throttle delay="20" unit="s" host="feeds.feedburner.com"/></config>    `    config := Config{}    err := xml.Unmarshal([]byte(data), &config)    if err != nil {        fmt.Printf("error: %config", err)        return    }    thr := config.Throttlers[0]    fmt.Println(fmt.Sprintf("host:%q, unit:%q, delay:%f", thr.host, thr.unit, thr.delay))}
查看完整描述

1 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

同样,该Throttler结构不导出其字段。因此,将结构更改为具有大写变量会使它们可访问。



查看完整回答
反对 回复 2021-10-25
  • 1 回答
  • 0 关注
  • 197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信