實例如下:
var xmlDoc = null;
function LoadXml(xmlPath) {
try {
if (window.ActiveXObject) {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
}
} catch (e) {
try {
xmlDoc = document.implementation.createDocument("", "", null);
}
catch (e) {
alert(e.Message);
}
}
try{
xmlDoc.async=false;
xmlDoc.load(xmlPath);
return (xmlDoc);
}
catch (e) {
alert(e.Message);
}
}
//根據節點名稱獲取屬性的值
function GetNodes(nodeName, attrName) {
var xmldata = LoadXml("test.xml");
//獲取xml第一個節點的值
//var booksName = xmldata.getElementsByTagName("bookName")[0].childNodes[0].nodeValue;
// //獲取所有xml下面所有節點的值
// var docElement=xmldata.getElementsByTagName("root");
// for(var j=0;j<docElement.length;j++){
// //獲取作者
// var Author=docElement[i].getElementsByTagName("Author")[0].firstChild.nodeValue;
// //獲取時間
// var time=docElement[i].getElementsByTagName("time")[0].firstChild.nodeValue;
// //獲取作者的聯系方式
// var phone=docElement[i].getElementsByTagName("phone")[0].firstChild.nodeValue;
// }
//FF
var nodes = xmldata.selectNodes("//" + nodeName);
for (var i = 0; i < nodes.length; i++) {
//獲取屬性名稱節點的值
alert(nodes[i].getAttribute(attrName);
}
}
FF下獲取 xml屬性 節點的值
var cNodes=xmlDoc.getElementsByTagName("book");
for (var j = 0; j < cNodes.length; i++) {
var bookID = xmlDoc.getElementsByTagName("book")[j].getAttribute("bookID");
//獲取book節點下面的bookTitle節點的值
var bookTitile = xmlDoc.getElementsByTagName("book")[j].childNodes[0].nodeValue;
以上就是小編為大家帶來的javascript加載xml 並解析各節點的值(實現方法)全部內容了,希望大家多多支持~