下面小编就为大家带来一篇javascript加载xml 并解析各节点的值(实现方法)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
实例如下:
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 并解析各节点的值(实现方法)全部内容了,希望大家多多支持脚本之家~ |