javascript DOM解析器解析XML文档
创建解析器
loadXML = function(xmlFile)
{
var xmlDoc;
//Internet Explorer 内核的浏览器
if(window.ActiveXObject)
{
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
xmlDoc.load(xmlFile);
}
//Mozilla 浏览器内核
else if(window.DOMParser){
var p=new DOMParser;
return p.parseFormString(xmlFile,"text/xml");
}
else
{
return null;
}
return xmlDoc;
}
对XML文档的判断
checkXMLDocObj = function(xmlFile)
{
var xmlDoc = loadXML(xmlFile);
if(xmlDoc==null)
{
alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');
}
else{
alert('能够支持');
}
return xmlDoc;
}
分析解析器产生的内容
function createRow(data){
var row=new Array();
alert("条目"+data.length);
for(var i=0;i<data.length;i++){
row[i]=document.createElement("tr");
for(var j=0;j<6;j++){
var cell,txtNode;
cell=document.createElement("td");
cell.setAttribute("border","0");
alert(data[i][j]);
txtNode=document.createTextNode(data[i][j]);
cell.appendChild(txtNode);
row[i].appendChild(cell);
}
}
return row;
}
function pareXML(){
var xmlDoc = checkXMLDocObj('book.xml');
var aCountent=xmlDoc.getElementsByTagName("COMPUTERBOOK");
alert('调试'+aCountent.length);
var content=new Array();
for(var i=0;i<aCountent.length;i++){
content[i]=[aCountent[i].childNodes[0].text,aCountent[i].childNodes[1].text,aCountent[i].childNodes[2].text,aCountent[i].childNodes[3].text,aCountent[i].
childNodes[4].text,aCountent[i].childNodes[5].text];
alert(content[i]);
}
var newRow=createRow(content);
var displayTable=document.getElementById("display");
for(var i=0;i<aCountent.length;i++){
displayTable.appendChild(newRow[i]);
}
}
本文介绍了一个使用JavaScript DOM解析器解析XML文档的方法。该方法适用于不同的浏览器环境,包括Internet Explorer和Mozilla Firefox。文章提供了完整的示例代码,展示了如何加载XML文件、检查浏览器对XML的支持情况以及如何解析XML内容并将其展示在网页上。
447

被折叠的 条评论
为什么被折叠?



