يقوم 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 ">
<الرأس>
<لغة البرمجة = "جافا سكريبت">
فار xmlDoc;
فار تصفح = ""؛
تحميل الدالةXML()
{
فار fileRoute = "books.xml"
إذا (window.ActiveXObject)
{
xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
xmlDoc.async=false;
xmlDoc.load(fileRoute);
تصفح = "أي"؛
}
وإلا إذا (document.implementation && document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument('', '', null);
xmlDoc.load(fileRoute);
تصفح = "وما يليها"؛
}
آخر
{
تنبيه ("غير متوافق مع هذا المتصفح!")؛
}
}
دالة getmessage()
{
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>'
إذا (تصفح = = "وما يليها")
{
var cNodes = xmlDoc.getElementsByTagName("book");
for(j=0;j<cNodes.length;j++)
{
var bookID=xmlDoc.getElementsByTagName("book")[j].getAttribute("id");
varsortID=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>'
}
}
آخر إذا (تصفح = = "أي")
{
حالة فار = xmlDoc.readyState;
إذا (الحالة == 4)
{
var oNodes = xmlDoc.selectNodes("//books/book");
for(j=0;j<oNodes.length;j++)
{
var bookID=oNodes[j].getAttribute("id");
varsortID=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;
}
</script>
</الرأس>
<body onload="loadXML();">
<div id="bookList" style="width:500px;">
</div>
<حدود الجدول = "0" تباعد الخلايا = "0" خلية الحشو = "0" العرض = "500">
<تر>
<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"?>
<الكتب>
<معرف الكتاب = "4" معرف الفرز = "a4">
<title>author4aa</title>
<author>المؤلف4</author>
</كتاب>
<معرف الكتاب = "5" معرف الترتيب = "a5">
<العنوان>المؤلف55</العنوان>
<author>المؤلف5</author>
</كتاب>
<معرف الكتاب = "6" معرف الفرز = "a6">
<العنوان>عنوان الكتاب</العنوان>
<author>المؤلف6</author>
</كتاب>
<معرف الكتاب = "7" معرف الفرز = "a7">
<العنوان>عنوان الكتاب</العنوان>
<author>المؤلف7</author>
</كتاب>
<معرف الكتاب = "8" معرف الفرز = "a8">
<العنوان>عنوان الكتاب</العنوان>
<author>المؤلف8</author>
</كتاب>
<معرف الكتاب = "15" معرف الفرز = "a15">
<العنوان>المؤلف155</العنوان>
<author>المؤلف15</author>
</كتاب>
</الكتب>