Golang encoding/xml.Unmarshal() function examples
package encoding/xml
Unmarshal parses the XML-encoded data and stores the result in the value pointed to by v (2nd parameter), which must be an arbitrary struct, slice, or string. Well-formed data that does not fit into v is discarded. See http://golang.org/pkg/encoding/xml/#Unmarshal for more detailed description.
Golang encoding/xml.Unmarshal() function usage examples
Example 1:
func Decode_xml(derr chan string, b []byte, i interface{}) bool {
e := xml.Unmarshal(b, i)
if e != nil {
derr<-"TOOLS/XML/DECODE: "+e.Error();
return false
}
return true
}
Example 2:
package main
import (
"encoding/xml"
"fmt"
)
type Address struct {
City, State string
}
type Person struct {
XMLName xml.Name `xml:"person"`
Id int `xml:"id,attr"`
FirstName string `xml:"name>first"`
LastName string `xml:"name>last"`
Age int `xml:"age"`
Height float32 `xml:"height,omitempty"`
Married bool
Address
Comment string `xml:",comment"`
}
func main() {
str := `
<person id="13"><name><first>John</first><last>Doe</last></name><age>42</age><Married>false</Married><City>Hanga Roa</City><State>Easter Island</State><!-- Need more details. --></person>`
var p Person
err := xml.Unmarshal([]byte(str), &p)
if err != nil {
fmt.Println(err)
}
fmt.Println("First name : " + p.FirstName)
fmt.Println("Last name : " + p.LastName)
}
Output :
First name : John
Last name : Doe
See another example at https://www.socketloop.com/tutorials/read-parse-xml-file-go
Reference :
Advertisement
Something interesting
Tutorials
+10.6k Golang : How to delete element(data) from map ?
+12.7k Golang : Remove or trim extra comma from CSV
+9k Golang : Populate or initialize struct with values example
+11.7k Golang : Gorilla web tool kit secure cookie example
+5.6k PHP : Convert string to timestamp or datestamp before storing to database(MariaDB/MySQL)
+5k Golang : Calculate a pip value and distance to target profit example
+8.6k Android Studio : Import third-party library or package into Gradle Scripts
+8.1k Golang : How To Use Panic and Recover
+7.4k Golang : Accessing dataframe-go element by row, column and name example
+6.5k PHP : Shuffle to display different content or advertisement
+4.4k Golang : Valued expressions and functions example