I have the following xml "file":
<pinnacle_line_feed> <PinnacleFeedTime>1439954818555</PinnacleFeedTime> <lastContest>34317132</lastContest> <lastGame>218491030</lastGame> <events> <event> <event_datetimeGMT>2015-08-21 09:50</event_datetimeGMT> <gamenumber>483406220</gamenumber> <sporttype>Aussie Rules</sporttype> <league>AFL</league> <IsLive>No</IsLive> <participants> <participant> <participant_name>Hawthorn Hawks</participant_name> <contestantnum>1251</contestantnum> <rotnum>1251</rotnum> <visiting_home_draw>Visiting</visiting_home_draw> </participant> <participant> <participant_name>Port Adelaide Power</participant_name> <contestantnum>1252</contestantnum> <rotnum>1252</rotnum> <visiting_home_draw>Home</visiting_home_draw> </participant> </participants> <periods></periods> </event> </events> </pinnacle_line_feed> I am attempting to parse this with Golang, and have written the below thus far:
package main import ( "fmt" "encoding/xml" ) type Participant struct { XMLName xml.Name `xml:"participant"` participant_name string `xml:"participant_name"` contestantnum int `xml:"contestantnum"` rotnum int `xml:"rotnum"` visiting_home_draw string `xml:"visiting_home_draw"` } type Event struct { XMLName xml.Name `xml:"event"` event_datetimeGMT string `xml:"event_datetimeGMT"` gamenumber string `xml:"gamenumber"` sporttype string `xml:"sporttype"` league string `xml:"league"` IsLive string `xml:"IsLive"` Participant []Participant `xml:"participant"` } type Events struct { XMLName xml.Name `xml:"events"` Event []Event `xml:"event"` } type Pinnacle_Line_Feed struct { XMLName xml.Name `xml:"pinnacle_line_feed"` PinnacleFeedTime string `xml:"PinnacleFeedTime"` lastContest string `xml:"lastContest"` lastGame string `xml:"lastGame"` Events []Events `xml:"events"` } Frankly, I have researched quite a bit on deep nested xml parsing in Golang, and I haven't found much to help with the Unmarshal portion of this code. Ideally, the code would return something similar to a python dictionary, such as,
{event_datetimeGMT: 2015-08-21, gamenumber: 483406220, ... , visiting_home_draw: "Home"}
I am new to Golang, so please bare with me if you find this question off-base.
No comments:
Post a Comment