星期一, 12月 24, 2007

JavaScript讀XML

//1.讀XML
function loadXML(xmlFilePath)
{        
if(window.ActiveXObject)// code for IE
{
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
xmlDoc.load(xmlFilePath);
}else if (document.implementation&&document.implementation.createDocument)// code for Mozilla, etc.
{
xmlDoc = document.implementation.createDocument('', '', null);
xmlDoc.load(xmlFilePath);
}
else
{
alert('您的瀏覽器不支持xml文件讀取,於是本頁面禁止您的操作,推薦使用IE5.0以上可以解決此問題!');
return null;
}
}


//2.瀏覽XML
//取得node方法
//Method 1 利用tag name
//1.1 取得陣列
 var Area = xmlDoc.getElementsByTagName("test"); 
 for (var i = 0 ; i < Area.length ; i++){
   var node = Area[i].firstChild.nodeValue; 
 }


//Method 2 XPATH
xmlDoc.selectSingleNode("test").text;  //從根找起
 xmlDoc.selectSingleNode("//test").text;  //回傳第一個找到的



//3.存取node (ex. lalala)
xmlNode.xml; // lalala
xmlNode.text; // lalala
xmlNode.getAttribute('what'); //ok

//4.讀子節點或父節點
xmlDoc.childNodes;
xmlDoc.parentNode;

//5.新增node

//6.儲存
xmlDoc.save("xxxx.xml");

沒有留言: