diff --git a/utils/xmltojson/.gitignore b/utils/xmltojson/.gitignore new file mode 100644 index 000000000..2f08e63ef --- /dev/null +++ b/utils/xmltojson/.gitignore @@ -0,0 +1,2 @@ +eqemu_config.xml +eqemu_config.json \ No newline at end of file diff --git a/utils/xmltojson/main.go b/utils/xmltojson/main.go index 65dd052f5..1e94ae938 100644 --- a/utils/xmltojson/main.go +++ b/utils/xmltojson/main.go @@ -8,16 +8,15 @@ import ( "os" "strings" - xj "github.com/xackery/goxml2json" + xj "github.com/basgys/goxml2json" ) func main() { var err error var data []byte var sData string - var buf *bytes.Buffer + buf := &bytes.Buffer{} var buf2 bytes.Buffer - xj.SetAttributePrefix("") if data, err = ioutil.ReadFile("eqemu_config.xml"); err != nil { fmt.Println("Failed to open eqemu_config.xml:", err.Error()) @@ -26,10 +25,18 @@ func main() { //detect malformed xml in eqemuconfig sData = strings.Replace(string(data), "", "", 1) + r := strings.NewReader(sData) + dec := xj.NewDecoder(r) + root := &xj.Node{} + if err = dec.DecodeWithCustomPrefixes(root, "", ""); err != nil { + fmt.Println("Failed to decode eqemu_config.xml:", err.Error()) + os.Exit(1) + } - //convert xml to json - if buf, err = xj.Convert(strings.NewReader(sData)); err != nil { - fmt.Println("Failed to process eqemu_config.xml:", err.Error()) + enc := xj.NewEncoder(buf) + err = enc.EncodeWithCustomPrefixes(root, "", "") + if err != nil { + fmt.Println("Failed to encode eqemu_config.xml:", err.Error()) os.Exit(1) }