本文目錄一覽:
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文件。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/297670.html