Browse Source

Merge branch 'master' of https://github.com/chad-russell/gin into chad-russell-master

Manu Mtz-Almeida 11 years ago
parent
commit
c9809ab10d
1 changed files with 20 additions and 0 deletions
  1. 20 0
      gin.go

+ 20 - 0
gin.go

@@ -81,6 +81,26 @@ var (
 	}
 	}
 )
 )
 
 
+// Allows type H to be used with xml.Marshal
+func (h H) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+	if err := e.EncodeToken(start); err != nil {
+		return err
+	}
+	for key, value := range h {
+		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
+	}
+	return nil
+}
+
 func (a ErrorMsgs) String() string {
 func (a ErrorMsgs) String() string {
 	var buffer bytes.Buffer
 	var buffer bytes.Buffer
 	for i, msg := range a {
 	for i, msg := range a {