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 ">
<หัว>
<ภาษาสคริปต์ = "จาวาสคริปต์">
var xmlDoc;
var เรียกดู = "";
ฟังก์ชั่น loadXML()
-
var fileRoute="books.xml"
ถ้า (window.ActiveXObject)
-
xmlDoc = ActiveXObject ใหม่ ('Msxml2.DOMDocument');
xmlDoc.async=false;
xmlDoc.load(fileRoute);
เรียกดู = "เช่น";
-
อย่างอื่นถ้า (document.implementation && document.implementation.createDocument)
-
xmlDoc=document.implementation.createDocument('', '', null);
xmlDoc.load(fileRoute);
เรียกดู = "ff";
-
อื่น
-
alert('เข้ากันไม่ได้กับเบราว์เซอร์นี้!');
-
-
ฟังก์ชั่นรับข้อความ ()
-
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>'
ถ้า (เรียกดู = = "ff")
-
var cNodes = xmlDoc.getElementsByTagName("หนังสือ");
สำหรับ(j=0;j<cNodes.length;j++)
-
var bookID=xmlDoc.getElementsByTagName("หนังสือ")[j].getAttribute("id");
var sortID=xmlDoc.getElementsByTagName("หนังสือ")[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")
-
สถานะ var = xmlDoc.readyState;
ถ้า (สถานะ == 4)
-
var oNodes = xmlDoc.selectNodes("//หนังสือ/หนังสือ");
สำหรับ(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("รายการหนังสือ").innerHTML=msg;
-
</สคริปต์>
</หัว>
<body onload="loadXML();">
<div id="รายการหนังสือ" style="width:500px;">
</div>
<table border="0" cellspacing="0" cellpadding="0" width="500">
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</ตาราง>
<input name="button" type="button" onclick="getmessage()" value="onclick" />
</ร่างกาย>
</html>
++++++++++++++++++++++++++++++++++++++++++++++++ ++ ++++++++++++++++++
รหัส books.xml เป็นดังนี้:
++++++++++++++++++++++++++++++++++++++++++++++++ ++ +++++++++++++++++++
<?xml version="1.0" encoding="gb2312"?>
<หนังสือ>
<book id="4" sortID="a4">
<title>author4aa</title>
<ผู้เขียน>ผู้เขียน4</ผู้เขียน>
</หนังสือ>
<book id="5" sortID="a5">
<title>ผู้เขียน55</title>
<ผู้เขียน>ผู้เขียน5</ผู้เขียน>
</หนังสือ>
<book id="6" sortID="a6">
<title>ชื่อหนังสือ</title>
<ผู้เขียน>ผู้เขียน6</ผู้เขียน>
</หนังสือ>
<book id="7" sortID="a7">
<title>ชื่อหนังสือ</title>
<ผู้เขียน>ผู้เขียน7</ผู้เขียน>
</หนังสือ>
<book id="8" sortID="a8">
<title>ชื่อหนังสือ</title>
<ผู้เขียน>ผู้เขียน8</ผู้เขียน>
</หนังสือ>
<book id="15" sortID="a15">
<title>ผู้เขียน155</title>
<ผู้เขียน>ผู้เขียน15</ผู้เขียน>
</หนังสือ>
</หนังสือ>