Procházet zdrojové kódy

added error handling

Chad Russell před 11 roky
rodič
revize
c978efa42f
1 změnil soubory, kde provedl 13 přidání a 4 odebrání
  1. 13 4
      gin.go

+ 13 - 4
gin.go

@@ -64,12 +64,21 @@ type (
 
 // Allows type H to be used with xml.Marshal
 func (h H) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-	e.EncodeToken(start)
+	if err := e.EncodeToken(start); err != nil {
+		return err
+	}
 	for key, value := range h {
-		elem := xml.StartElement{Name: xml.Name{Local: key}}
-		e.EncodeElement(value, elem)
+		elem := xml.StartElement{
+			xml.Name{"", key},
+			[]xml.Attr{},
+		}
+		if err = e.EncodeElement(value, elem); err != nil {
+			return err
+		}
+	}
+	if err = e.EncodeToken(xml.EndElement{start.Name}); err != nil {
+		return err
 	}
-	e.EncodeToken(xml.EndElement{start.Name})
 	return nil
 }