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 ">
<голова>
<script Language="JavaScript">
вар xmlDoc;
вар просмотр="";
функция загрузкиXML()
{
вар fileRoute="books.xml"
если (окно.ActiveXObject)
{
xmlDoc = новый ActiveXObject('Msxml2.DOMDocument');
xmlDoc.async=false;
xmlDoc.load(fileRoute);
просмотреть = "ie";
}
иначе, если (document.implementation && document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument('', '', null);
xmlDoc.load(fileRoute);
просмотр = "ff";
}
еще
{
alert('Несовместимо с этим браузером!');
}
}
функция получить сообщение()
{
var msg='<table border="1" cellpacing="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>'
если(обзор=="ff")
{
var cNodes = xmlDoc.getElementsByTagName("книга");
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("автор")[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>'
}
}
иначе, если(browse=="ie")
{
состояние вар = xmlDoc.readyState;
если (состояние == 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>';
//оповещение(сообщение)
document.getElementById("bookList").innerHTML=msg;
}
</скрипт>
</голова>
<body onload="loadXML();">
<div id="bookList" style="width:500px;">
</div>
<table border="0" cellpacing="0" cellpadding="0" width="500">
<тр>
<td> </td>
<td> </td>
<td> </td>
<тд> </тд>
</tr>
</таблица>
<input name="button" type="button" onclick="getmessage()" value="onclick" />
</тело>
</html>
++++++++++++++++++++++++++++++++++++++++++++++++ ++ ++++++++++++++++++
Код book.xml выглядит следующим образом:
++++++++++++++++++++++++++++++++++++++++++++++++ ++ +++++++++++++++++++
<?xml version="1.0"coding="gb2312"?>
<книги>
<книга id="4" sortID="a4">
<title>author4aa</title>
<author>автор4</author>
</книга>
<книга id="5" sortID="a5">
<title>автор55</title>
<author>автор5</author>
</книга>
<книга id="6" sortID="a6">
<title>название книги</title>
<author>автор6</author>
</книга>
<книга id="7" sortID="a7">
<title>название книги</title>
<author>автор7</author>
</книга>
<книга id="8" sortID="a8">
<title>название книги</title>
<author>автор8</author>
</книга>
<книга id="15" sortID="a15">
<title>автор155</title>
<author>автор15</author>
</книга>
</книги>