xml轉json對象

	this.xmlToJson = function(xml){	
				// Create the return object
				var obj = {};
				
				if(xml.nodeType == 1&&xml.nodeName != "#document") { // element
					// do attributes
					if(xml.attributes.length > 0) {
						obj["@attributes"] = {};
						for(var j = 0; j < xml.attributes.length; j++) {
							var attribute = xml.attributes.item(j);
							obj["@attributes"][attribute.nodeName] = attribute.nodeValue;
						}
					}
				} else if(xml.nodeType == 3&&xml.nodeName != "#document") { // text
					obj = xml.nodeValue;

				}
			
				// do children
				if(xml.hasChildNodes()) {
					for(var i = 0; i < xml.childNodes.length; i++) {
						var item = xml.childNodes.item(i);
						var nodeName = item.nodeName;
						if(typeof(obj[nodeName]) == "undefined") {
							obj[nodeName] = xmlToJson(item);
						} else {
							if(typeof(obj[nodeName].length) == "undefined" || obj[nodeName].constructor == Object) {
								var old = obj[nodeName];
									obj[nodeName] = [];
								obj[nodeName].push(old);
								
							}
							if(obj[nodeName].constructor == Array)
							{

								obj[nodeName].push(xmlToJson(item));
							}	
						}
					}
				}
				return obj;
			};

發佈了28 篇原創文章 · 獲贊 17 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章