diff options
author | kballou <kballou@devnulllabs.io> | 2015-04-14 16:54:00 -0600 |
---|---|---|
committer | kballou <kballou@devnulllabs.io> | 2015-04-17 15:19:50 -0600 |
commit | 0e17c69ad8a2dc11fb4e35f06fccc9eb861d18b6 (patch) | |
tree | 5bde98943d1de697649999ad95be2c339b1c0287 | |
parent | c49d15d5340d7c19121a64ee17f31f7bf30ca502 (diff) | |
download | gohadoopxml-0e17c69ad8a2dc11fb4e35f06fccc9eb861d18b6.tar.gz gohadoopxml-0e17c69ad8a2dc11fb4e35f06fccc9eb861d18b6.tar.xz |
Add initial xml parsing code
-rw-r--r-- | gohadoopxml.go | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gohadoopxml.go b/gohadoopxml.go new file mode 100644 index 0000000..c9f6171 --- /dev/null +++ b/gohadoopxml.go @@ -0,0 +1,37 @@ +package gohadoopxml + +import ( + "encoding/xml" + "io/ioutil" + "log" + "os" +) + +var Version string + +type Property struct { + XMLName xml.Name `xml:"property"` + Name string `xml:"name"` + Value string `xml:"value"` +} + +type Configuration struct { + XMLName xml.Name `xml:"configuration"` + Properties []Property `xml:"property"` +} + +func ParseXML(filename string) (Configuration, error) { + xmlFile, err := os.Open(filename) + if err != nil { + log.Println("Error occurred while opening xml file") + return Configuration{}, err + } + defer xmlFile.Close() + + xmlData, _ := ioutil.ReadAll(xmlFile) + + var config Configuration + xml.Unmarshal(xmlData, &config) + + return config, nil +} |