12

[Golang] XML Parsing Example (3)

 2 years ago
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.
neoserver,ios ssh client

[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.

Run code on Go Playground

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


[a]XML to Go struct : golang


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK