我正在使用 Golang 读取 XML 响应。我无法正确读取带有空格的值。这是一个要点:https : //gist.github.com/anonymous/5825288有没有办法让 xml.Unmarshal 从中修剪值<result>,然后将其视为 int?IE<result>1<result> // no spaces, is marshalled correctly. The resulting value in the struct is 1但<result> 1 </result> // with spaces, is marshalled incorrectly as an int. The resulting value in the struct for result is 0.
1 回答
阿晨1998
TA贡献2037条经验 获得超6个赞
即使在 xml“1”中,这是一个字符串而不是 int,解析器也无法将此字符串解析为 int。所以 0 只是默认的 int 值,
如果您将代码更改为:
err:= xml.Unmarshal([]byte(payload), &mt)
if err != nil {
fmt.Println(err)
}
如果您的 xml 可以将“ 1 ”作为值,您会看到解析过程中出现错误,我建议在您的结构中使用一个字符串。或者如果有机会,告诉 xml 的创建者只使用 int 而不是字符串,其中需要 int
- 1 回答
- 0 关注
- 177 浏览
添加回答
举报
0/150
提交
取消