summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkballou <kballou@devnulllabs.io>2015-04-14 16:54:00 -0600
committerkballou <kballou@devnulllabs.io>2015-04-17 15:19:50 -0600
commit0e17c69ad8a2dc11fb4e35f06fccc9eb861d18b6 (patch)
tree5bde98943d1de697649999ad95be2c339b1c0287
parentc49d15d5340d7c19121a64ee17f31f7bf30ca502 (diff)
downloadgohadoopxml-0e17c69ad8a2dc11fb4e35f06fccc9eb861d18b6.tar.gz
gohadoopxml-0e17c69ad8a2dc11fb4e35f06fccc9eb861d18b6.tar.xz
Add initial xml parsing code
-rw-r--r--gohadoopxml.go37
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
+}