diff options
Diffstat (limited to 'release/build/js/xml.js')
-rw-r--r-- | release/build/js/xml.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/release/build/js/xml.js b/release/build/js/xml.js new file mode 100644 index 000000000..1d50558e1 --- /dev/null +++ b/release/build/js/xml.js @@ -0,0 +1,25 @@ +Object.toXML = function( obj, tag ) { + if ( obj.constructor == Array ) { + var ret = ""; + for ( var i = 0; i < obj.length; i++ ) + ret += Object.toXML( obj[i], tag ); + return ret; + } else if ( obj.constructor == Object ) { + var tag = tag || "tmp"; + var p = "", child = ""; + + for ( var i in obj ) + if ( ( obj[i].constructor != String && obj[i].constructor != Number ) || /</.test(obj[i] + "") || Object.toXML.force[i] ) + child += Object.toXML( obj[i], i ); + else + p += " " + i + "='" + (obj[i] + "").replace(/'/g, "'") + "'"; + + return "<" + tag + p + ( child ? ">\n" + child + "</" + tag + ">\n" : "/>\n" ); + } else if ( obj.constructor == String || obj.constructor == Number ) { + return "<" + tag + ">" + obj + "</" + tag + ">\n"; + } + + return ""; +}; + +Object.toXML.force = {}; |