金曜日, 12月 15, 2006

[prototype.js] 連想配列からXMLに変換するJavaScript このエントリーを含むはてなブックマーク



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 件のコメント:

 
© 2006-2015 Virtual Technology
当サイトではGoogle Analyticsを使ってウェブサイトのトラフィック情報を収集しています。詳しくは、プライバシーポリシーを参照してください。