本文目录一览:
JavaScript如何解析xml
?xml versoin="1.0"?
root
books id="list"
item id='js'
namejavascript教程/name
price50/price
/item
item id='java'
namejava教程/name
price70/price
item
/books
/root
script type="text/javascript"
!--
var dom = new ActiveXObject('Microsoft.XMLDOM'); // 得到XML操作对象
// 加载 xml 有两种方法
// 方法一
//dom.load('XML文件的路径');
// 方法二
dom.loadXML('XML文件的内容'); // 此处就是上面XML的内容
// 比如我要得到上面XML文件中所有书的列表
var bookList = dom.selectNodeList('root/books/item'); // 这里采用 xPath,自己去了解吧
// 得到的 bookList 值为
// item
// namejavascript教程/name
// price50/price
// /item
// item
// namejava教程/name
// price70/price
// item
// 比如我要选择 javascript 教程
var js = dom.selectSingleNode('root/books/item[id="js"]'); // xPath
// 得到的 js 值为
// item
// namejavascript教程/name
// price50/price
// /item
//--
/script
当然还有好多方法,好多东西,这里就不写太多了,自己去慢慢研究吧。
上面只是用了 xpath 办法,毕竟这个检索的效率高,速度快,当然还可以一级一级节点往下遍历。
一楼说的 ajax 也可以操作 xml,二楼说的 getElementsByTagName('tag') 这也是一个检索XML的方法,请自行研究。
js的xml文件是什么
刚学习javascript,写一个小游戏做练习,现在想要做一个配置文件,练习一下XML的操作……
进入正题:
如下xml文件:profile.xml
XML/HTML
?xml version="1.0" ?
configuration
rowHello/row
colword!/col
/configuration
在google搜索结果中出现频率比较高的一段代码:
javascript文件:test.js
JavaScript
var doc = loadXmlFile("profile.xml");
alert(doc.text);
function loadXmlFile(xmlFile){
var xmlDom = null;
if (window.ActiveXObject){
xmlDom = new ActiveXObject("Microsoft.XMLDOM");
//xmlDom.loadXML(xmlFile);//如果用的是XML字符串
xmlDom.load(xmlFile);//如果用的是xml文件。
}else if (document.implementation document.implementation.createDocument){
var xmlhttp = new window.XMLHttpRequest();
xmlhttp.open("GET", xmlFile, false);
xmlhttp.send(null);
xmlDom = xmlhttp.responseXML;
}else{
xmlDom = null;
}
return xmlDom;
}
这个方法在IE下能正常输出“hello word”,IE9、以及IE9的IE7、IE8的兼容模式都正常。
但是在firefox下输出的是“undefined”
而Chrome下则无输出,提示 xmlhttp.send(null);这行 Uncaught Error: NETWORK_ERR:XMLHttpRequest Exception 101
还有一种方法是用JQuery
JavaScript code?
$.get('profile.xml',function(xml){
alert($(xml).text());
});
在Chrome下只弹出一个空警告框……
javascript 与xml是什么关系?
xml是一种文档组织标准
javascript是可以在客户端操作元素的脚本语言,可以操作xml文件。