[Golang] XML Parsing Example (3)
source link: http://siongui.github.io/2015/02/21/go-parse-xml-example-3/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
[Golang] XML Parsing Example (3)
February 21, 2015
In this exmaple, we will parse a div element with a span child element,
<span>SpanText</span>
:
example-3.xml | repository | view raw
<?xml version="1.0" encoding="UTF-8"?><div><span>SpanText</span></div>
Just as we declare a struct for parent div element, we also declare a struct for the child span element, and add a struct field of the span struct to the div struct.
parse-3.go | repository | view raw
package main import ( "io/ioutil" "encoding/xml" "fmt" ) type div struct { XMLName xml.Name `xml:"div"` ChildSpan span } type span struct { XMLName xml.Name `xml:"span"` Text string `xml:",chardata"` } func main() { d := div{} xmlContent, _ := ioutil.ReadFile("example-3.xml") err := xml.Unmarshal(xmlContent, &d) if err != nil { panic(err) } fmt.Println("ChildSpan:", d.ChildSpan) }
The output result:
ChildSpan: {{ span} SpanText}
Tested on: Ubuntu Linux 14.10, Go 1.4.
[Golang] XML Parsing Example series:
[1][Golang] XML Parsing Example (1)
[2][Golang] XML Parsing Example (2)
[3][Golang] XML Parsing Example (3)
[4][Golang] XML Parsing Example (4)
[5][Golang] XML Parsing Example (5) - Parse OPML
[6][Golang] XML Parsing Example (6) - Parse OPML Concisely
[7][Golang] XML Parsing Example (7) - Parse RSS 2.0
[8][Golang] XML Parsing Example (8) - Parse Atom 1.0
[9][Golang] Convert Atom to RSS
[10][Golang] Parse Web Feed - RSS and Atom
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK