1. 程式人生 > >js讀取xml的存放內容

js讀取xml的存放內容

做音樂播放器的時候遇到一個問題,用ajax獲取的xml格式的歌詞被放在<![CDATA[]]>裡面

看成字串來處理太麻煩了

上網找了一下,說是可以用nodevalue獲取

getElementsByTagName("film_name")[0].childNodes[0].nodeValue

報錯:main.js:170 Uncaught TypeError: data.getElementsByTagName is not a function

原因:data現在不是一個document,需要存入一個xmlDoc才能呼叫上面的函式

解決:

var xmlDoc = null;
   		 		try //Internet Explorer
   		 		{
   		 			xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
   		 			xmlDoc.async="false";
   		 			xmlDoc.loadXML(data);
   		 		}
   		 		catch(e)
   		 		{
   		 			try //Firefox, Mozilla, Opera, etc.
   		 			{
   		 				parser=new DOMParser();
   		 				xmlDoc=parser.parseFromString(data,"text/xml");
   		 			}
   		 			catch(e) {alert("不支援穿件xmlDoc");}
   		 		}
現在就可以對xmlDoc執行getElementsByTagName了~輕鬆獲取<![CDATA[]]>裡面的內容