この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
XMLとJSONを変換
node.jsではデータをJSONでやり取りすることも多いです。 しかし、アプリやサービスによってはXMLデータが使われることもあります。 そんなとき、今回紹介するxmljsonモジュールを使用すると、簡単に相互変換を行うことができます。
環境構築方法
今回使用した動作環境は以下のとおりです。
- OS : MacOS X 10.7.5
- Node.js : v0.10.8
- npm : 1.2.23
npmを使用してxmljsonモジュールをインストールしましょう。
% mkdir xmljson
% cd xmljson
% npm init //入力は全部デフォルトでいいです
% npm install xmljson --save
サンプルプログラム作成
まずはXMLからJSONへ変換する方法です。xmljsonモジュールのto_json関数を使用してXMLからJSONへ変換します。
var to_json = require('xmljson').to_json;
//XML文字列を作成
var xml = '<myData>' +
'<tag1>value1</tag1>' +
'<tag2>value2</tag2>' +
'<tag3>value3</tag3>' +
'</myData>';
to_json(xml, function (error, data) {
console.log(data);
// -> { myData: { tag1: 'value1', tag2: 'value2', tag3: 'value3' } }
});
JSONからXMLへの変換も簡単です。to_xml関数を使ってJSONからXMLに変換することができます。
var to_xml = require('xmljson').to_xml;
//JSオブジェクトを作成
var obj = {
name:"myobject",
child:{
name:"child object",
type:"object"
}
};
//オブジェクトをJSON文字列に変換
var json = JSON.stringify(obj);
to_xml(json, function (error, xml) {
console.log(xml);
// -> <data><name>myobject</name><child><name>child object</name><type>object</type></child></data>
});
まとめ
XML/JSON、どちらの変換も簡単に行うことができます。便利ですね。