Compare commits

...

2 Commits

Author SHA1 Message Date
pzx521521
99bf4c8016
Merge 2ae5988db30756a7cf256d35019dc5151806387f into 8763f33c65f7df8be5b9fe7504ab7fcf20abb41d 2025-03-23 09:23:04 +08:00
pzx521521
2ae5988db3
Update xml.go
here is xml.Unmarshal problem if xml have muti-root:

[unmarshal-xml-array-in-golang-only-getting-the-first-element](https://stackoverflow.com/questions/27553274/unmarshal-xml-array-in-golang-only-getting-the-first-element)

[so  gin have same problem](https://stackoverflow.com/questions/74226570/golang-gin-binding-request-body-xml-to-slice):

if gin bind muti-root-xml, it should use for util io.EOF
2022-10-28 14:28:08 +08:00

View File

@ -26,8 +26,13 @@ func (xmlBinding) BindBody(body []byte, obj any) error {
} }
func decodeXML(r io.Reader, obj any) error { func decodeXML(r io.Reader, obj any) error {
decoder := xml.NewDecoder(r) decoder := xml.NewDecoder(r)
if err := decoder.Decode(obj); err != nil { for {
return err if err := decoder.Decode(obj); err != nil {
if err == io.EOF{
break
}
return err
}
} }
return validate(obj) return validate(obj)
} }