JS读取并输出xml文件节点及属性(兼容IE,FF)
2011-01-06 10:10
459 查看
JS读取并输出xml文件节点及属性(兼容IE,FF)
这个东西让我好难找啊,不过还是找到了。
好东东不能自己藏着,发出来分享一下了,^_^ |
book.html 代码如下:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript">
var xmlDoc;
var browse="";
function loadXML()
{
var fileRoute="books.xml"
if (window.ActiveXObject)
{
xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
xmlDoc.async=false;
xmlDoc.load(fileRoute);
browse="ie";
}
else if (document.implementation && document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument('', '', null);
xmlDoc.load(fileRoute);
browse="ff";
}
else
{
alert( '未做与该浏览器的兼容!');
}
}
function getmessage()
{
var msg='<table border="1" cellspacing="0" cellpadding="0" width="500">';
msg+='<tr><td width="90"></td><td width="100">图书编号</td><td width="100">种类编号</td><td width="110">图书名称</td><td width="100">作者</td></tr>'
if(browse=="ff")
{
var cNodes = xmlDoc.getElementsByTagName("book");
for(j=0;j<cNodes.length;j++)
{
var bookID=xmlDoc.getElementsByTagName("book")[j].getAttribute("id");
var sortID=xmlDoc.getElementsByTagName("book")[j].getAttribute("sortID");
var bookTitle=xmlDoc.getElementsByTagName("title")[j].childNodes[0].nodeValue;
var bookAuthor=xmlDoc.getElementsByTagName("author")[j].childNodes[0].nodeValue;
msg+='<tr><td>'+j+'</td><td>'+bookID+'</td><td width="100">'+sortID+'</td><td width="190">'+bookTitle+'</td><td width="120">'+bookAuthor+'</td></tr>'
}
}
else if(browse=="ie")
{
var state = xmlDoc.readyState;
if (state == 4)
{
var oNodes = xmlDoc.selectNodes("//books/book");
for(j=0;j<oNodes.length;j++)
{
var bookID=oNodes[j].getAttribute("id");
var sortID=oNodes[j].getAttribute("sortID");
var bookTitle=oNodes[j].childNodes[0].text;
var bookAuthor=oNodes[j].childNodes[1].text;
msg+='<tr><td>'+j+'</td><td>'+bookID+'</td><td width="100">'+sortID+'</td><td width="190">'+bookTitle+'</td><td width="120">'+bookAuthor+'</td></tr>'
}
}
}
msg+='</table>';
//alert(msg)
document.getElementById("bookList").innerHTML=msg;
}
</script>
</head>
<body onload="loadXML();">
<div id="bookList" style="width:500px;">
</div>
<table border="0" cellspacing="0" cellpadding="0" width="500">
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<input name="button" type="button" onclick="getmessage()" value="onclick" />
</body>
</html>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
books.xml 代码如下:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<?xml version="1.0" encoding="gb2312"?>
<books>
<book id="4" sortID="a4">
<title>author4aa</title>
<author>author4</author>
</book>
<book id="5" sortID="a5">
<title>author55</title>
<author>author5</author>
</book>
<book id="6" sortID="a6">
<title>booktitle</title>
<author>author6</author>
</book>
<book id="7" sortID="a7">
<title>booktitle</title>
<author>author7</author>
</book>
<book id="8" sortID="a8">
<title>booktitle</title>
<author>author8</author>
</book>
<book id="15" sortID="a15">
<title>author155</title>
<author>author15</author>
</book>
</books>
这个东西让我好难找啊,不过还是找到了。
好东东不能自己藏着,发出来分享一下了,^_^ |
book.html 代码如下:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript">
var xmlDoc;
var browse="";
function loadXML()
{
var fileRoute="books.xml"
if (window.ActiveXObject)
{
xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
xmlDoc.async=false;
xmlDoc.load(fileRoute);
browse="ie";
}
else if (document.implementation && document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument('', '', null);
xmlDoc.load(fileRoute);
browse="ff";
}
else
{
alert( '未做与该浏览器的兼容!');
}
}
function getmessage()
{
var msg='<table border="1" cellspacing="0" cellpadding="0" width="500">';
msg+='<tr><td width="90"></td><td width="100">图书编号</td><td width="100">种类编号</td><td width="110">图书名称</td><td width="100">作者</td></tr>'
if(browse=="ff")
{
var cNodes = xmlDoc.getElementsByTagName("book");
for(j=0;j<cNodes.length;j++)
{
var bookID=xmlDoc.getElementsByTagName("book")[j].getAttribute("id");
var sortID=xmlDoc.getElementsByTagName("book")[j].getAttribute("sortID");
var bookTitle=xmlDoc.getElementsByTagName("title")[j].childNodes[0].nodeValue;
var bookAuthor=xmlDoc.getElementsByTagName("author")[j].childNodes[0].nodeValue;
msg+='<tr><td>'+j+'</td><td>'+bookID+'</td><td width="100">'+sortID+'</td><td width="190">'+bookTitle+'</td><td width="120">'+bookAuthor+'</td></tr>'
}
}
else if(browse=="ie")
{
var state = xmlDoc.readyState;
if (state == 4)
{
var oNodes = xmlDoc.selectNodes("//books/book");
for(j=0;j<oNodes.length;j++)
{
var bookID=oNodes[j].getAttribute("id");
var sortID=oNodes[j].getAttribute("sortID");
var bookTitle=oNodes[j].childNodes[0].text;
var bookAuthor=oNodes[j].childNodes[1].text;
msg+='<tr><td>'+j+'</td><td>'+bookID+'</td><td width="100">'+sortID+'</td><td width="190">'+bookTitle+'</td><td width="120">'+bookAuthor+'</td></tr>'
}
}
}
msg+='</table>';
//alert(msg)
document.getElementById("bookList").innerHTML=msg;
}
</script>
</head>
<body onload="loadXML();">
<div id="bookList" style="width:500px;">
</div>
<table border="0" cellspacing="0" cellpadding="0" width="500">
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<input name="button" type="button" onclick="getmessage()" value="onclick" />
</body>
</html>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
books.xml 代码如下:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<?xml version="1.0" encoding="gb2312"?>
<books>
<book id="4" sortID="a4">
<title>author4aa</title>
<author>author4</author>
</book>
<book id="5" sortID="a5">
<title>author55</title>
<author>author5</author>
</book>
<book id="6" sortID="a6">
<title>booktitle</title>
<author>author6</author>
</book>
<book id="7" sortID="a7">
<title>booktitle</title>
<author>author7</author>
</book>
<book id="8" sortID="a8">
<title>booktitle</title>
<author>author8</author>
</book>
<book id="15" sortID="a15">
<title>author155</title>
<author>author15</author>
</book>
</books>
相关文章推荐
- JS读取并输出xml文件节点及属性(兼容IE,FF)
- JS读取并输出xml文件节点及属性(兼容IE,FF)
- JS读取并输出xml文件节点及属性(兼容IE,FF)
- js读取xml文件 (兼容IE和FF)
- IE和FireFox下,javascript读取,并输出xml文件节点内容
- IE和FireFox下,javascript读取,并输出xml文件节点内容
- js 读取xml 兼容ff和ie
- IE和FireFox下,javascript读取,并输出xml文件节点内容
- js的nextSibling,属性兼容IE和FF等浏览器
- select根据省份从xml文件里面读取城市信息的例子(兼容ff与ie)
- js获取指定节点对象的样式属性的值的封装函数(兼容ie、Opera和符合w3c标准浏览器)
- js获取指定节点对象的样式属性的值的封装函数(兼容ie、Opera和符合w3c标准浏览器)
- js 获取子节点,兼容FF,IE
- IE和FireFox下,javascript读取,并输出xml文件节点内容
- 网站图片增强JS插件2.0(兼容IE&FF)
- JavaScript js 兼容浏览器问题 兼容FireFox(FF)、IE的解决方法
- js弹出窗口,居中,设定长与宽(兼容ie/ff)
- js 操作table之 移动TR位置 兼容FF 跟 IE
- Js脚本:动态添加HTML自定义属性以及处理html元素的自定义属性(兼容Firefox和IE)
- js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME)