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
+8.5k PHP : How to parse ElasticSearch JSON ?
+7.1k Golang : A simple forex opportunities scanner
+5k Golang : micron to centimeter example
+13.7k Golang : Tutorial on loading GOB and PEM files
+8.2k Golang : Add build version and other information in executables
+26.9k Golang : Force your program to run with root permissions
+5k Python : Convert(cast) bytes to string example
+9.9k Golang : Turn string or text file into slice example
+27.9k Golang : Decode/unmarshal unknown JSON data type with map[string]interface
+5.1k Swift : Convert (cast) Float to Int or Int32 value
+26.8k Golang : Convert file content into array of bytes
+7.8k Golang : Example of how to detect which type of script a word belongs to