Prototype.jsを使うと連想配列からXMLに変換するコードを、こんなにシンプルに書ける。
DEMO
prototype.jsを使わないバージョン=>extractive.jsの中に含まれる
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>JSON2XML</title>
<script type="text/javascript" src="scripts/prototype.js"></script>
<script type="text/javascript">
var extension = {
toXMLString: function() {
return this.map(function(pair) {
return "<"+pair.key+">"+ (
typeof pair.value == 'string' ? pair.value : $X(pair.value).toXMLString()
) +"</"+pair.key+">";
}).join('');
}
}
function $X(object) {
var hash = $H(object);
Object.extend(hash, extension);
return hash;
}
function test() {
var aa = $H();
aa.b = "ta </a>} : ke";
var h0 = { root : { a : aa,
b : "2",
c : { d :"3", e:"4" },
f : ["5","6"]
}
}
var h = $X(h0);
alert(h.toXMLString());
// alert(h0.c.d);
}
</script>
</head>
<body onload="test();"></body>
</html>
0 件のコメント:
コメントを投稿