无法解组值中有空格的负载

我正在使用 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.


交互式爱情
浏览 178回答 1
1回答

阿晨1998

即使在 xml“1”中,这是一个字符串而不是 int,解析器也无法将此字符串解析为 int。所以 0 只是默认的 int 值,如果您将代码更改为:err:= xml.Unmarshal([]byte(payload), &mt)if err != nil {&nbsp; fmt.Println(err)}如果您的 xml 可以将“ 1 ”作为值,您会看到解析过程中出现错误,我建议在您的结构中使用一个字符串。或者如果有机会,告诉 xml 的创建者只使用 int 而不是字符串,其中需要 int
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go