phoenix-power検索すると、最初にnode.jsのモジュールが出てきましたので、書いてみました。

https://github.com/buglabs/node-xml2json

1
$ npm install xml2json
xml-json.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env node
var parser = require('xml2json');
//var argv = require('node-argv')

var re = /(?:\.([^.]+))?$/;
var typ = process.argv[2]
var ext = re.exec(typ)[1];

if (ext === "xml") {
  var fs = require('fs')
    , filename = process.argv[2];
  fs.readFile(filename, 'utf8', function(err, xml) {
    if (err) throw err;
    console.log(xml)

    var json = parser.toJson(xml); //returns a string containing the JSON structure by default
  console.log(json);
  });

} else {
  var xml = process.argv[2];
  var json = parser.toJson(xml); //returns a string containing the JSON structure by default
  console.log(json);
}

例えば、以下の様な内容のファイルがあるとします。

1
2
$ cat test2.xml
<config><test>Hello</test><data>SomeData</data></config>

この場合、以下のコマンドでXMLからJSONに変換できます。

1
2
3
$ ./xml-json.js test2.xml

$ cat test2.xml | xargs ./xml-json.js

Felix’s Node.js Style Guide(和訳)