Skip to content

Instantly share code, notes, and snippets.

@softwarebygabe
Created June 22, 2019 20:57
Show Gist options
  • Save softwarebygabe/78b95fffcde725787ad03b5817a5f36b to your computer and use it in GitHub Desktop.
Save softwarebygabe/78b95fffcde725787ad03b5817a5f36b to your computer and use it in GitHub Desktop.
package main
import (
"encoding/xml"
"fmt"
)
type Cat struct {
XMLName xml.Name `xml:"cat"`
Name string `xml:"name,omitempty"`
Breed string `xml:"breed,omitempty"`
Age int `xml:"age,omitempty"`
Toy Toy `xml:",omitempty"`
}
type Toy struct {
XMLName xml.Name `xml:"toy"`
Type string `xml:"type,omitempty"`
Color string `xml:"color,omitempty"`
}
func main() {
cat := Cat{
Name: "Olive",
Breed: "Oriental Shorthair",
Age: 1,
}
bytes, err := xml.MarshalIndent(cat, "", " ")
if err != nil {
panic(err)
}
fmt.Println(string(bytes))
}
@softwarebygabe
Copy link
Author

<cat>
  <name>Olive</name>
  <breed>Oriental Shorthair</breed>
  <age>1</age>
  <toy></toy>
</cat>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment