الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة مع الجافا سكربت و الxml

بدأه moh_software في 22 نوفمبر 2009 · 2 رد · 703 مشاهدة · في قسم البرمجة بــ Javascript
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

i build an XML

<?xml version="1.0" encoding='UTF-8'?><!DOCTYPE note [

<!ELEMENT note (to*,from*,heading*,body*)>

<!ELEMENT to (#PCDATA)>

<!ELEMENT from (#PCDATA)>

<!ELEMENT heading (#PCDATA)>

<!ELEMENT body (#PCDATA)>

]>

<note>

<to> Tove </to>

<from> Jani </from>

<heading> Reminder </heading>

<body> Dont forget me this weekend </body>

</note>

and i need to load this file Using Javascript i write this script

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>haaaaaaaa</title>

<script language="JavaScript" type="text/javascript">

function getdata()

{

if(window.XMLHttpRequst)

{

var xhttp=new xmlHttpRequest();

}

else

{

var xhttp=new ActiveXObject("Microsoft.XMLHTTP")

}

xhttp.open("GET","note.xml",false);

xhttp.send();

var xmlDoc=xhttp.responseXML;

if (xhttp.readyState == 4)

{

alert(xmlDoc.parseError);

alert(xmlDoc.readyState);

alert(xmlDoc.getElementsByTagName("from")(0));

}

document.write(xmlDoc.getElementsByTagName("to")[0].childNodes[0].noteValue);

}

</script>

</head>

<body onload="getdata()">

<h1>w3schools</h1>

<b>To:</b>

<span id="to"></span>

</body>

</html>

the problem is when i run this script the alert "alert(xmlDoc.getElementsByTagName("to")(0));" give me Null that mean i can't get the value i don't know why and i search alot but didn't find any thing

#3

السلام عليكم أخى العزيز

كان لديك بعض الاخطاء البسيطة وقمت بتصحيحها فى الكود التالى

لكن هناك ملحوظة مهمة وهى ان Ajax لها قيود أمنية مثل الابليت فى Java

وانت هنا كتبت مسار الملف note.xml وتقوم بتشغيل الملف ال HTML من داخل جهازك من الهارد ديسك مباشرة

وهنا يقوم Ajax بالبحث عن الملف note.xml فى نفس المسار فيجده وعند محاولة التعامل معه تعترضه القيود الامنية

فلا يعود بقيمة ولكن يجب استدعاء الملف HTML من على السيرفر وتعديل مسار الملف note.xml الى مسار على السيرفر

وستلاحظ هذا فى المثال التالى

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>haaaaaaaa</title>
<script language="Javascript" type="text/javascript">

var request = false;
function getdata()
{

 try {
 	request = new XMLHttpRequest();
 } catch (trymicrosoft) {
 	try {
 	request = new ActiveXObject("Msxml2.XMLHTTP");
 	} catch (othermicrosoft) {
 	try {
 	request = new ActiveXObject("Microsoft.XMLHTTP");
 	} catch (failed) {
 	request = false;
 	} 
 	}
 }

 if (!request){
 	alert("Error initializing XMLHttpRequest!");
 }
 request.open("GET","http://www.moza.com/mySql/note.xml",false);
 request.onreadystatechange=updatePage;
 request.send(null);
}



 function updatePage() {
 	var xmlDoc;

 	if (request.readyState == 4)
 	if (request.status == 200){
 	xmlDoc=request.responseXML.documentElement;
 	alert(xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue);
 	document.getElementById("to").innerHTML=xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
 	}
 	else if(request.status == 404){
 	alert("Request URL does not exist");
 	}
 	else
 	alert("Error: status code is " + request.status);
 }



</script>

</head>

<body onload="getdata()">
<h1>w3schools</h1>
<b>To:</b>
<span id="to"></span>
</body>
</html>

طبعا المسار اللى انا كاتبه ده شغال عندى لكن مش هيشتغل عندك فحاول تغييره بمسار الملف الموجود على السيرفر الخاص بك

بالتوفيق


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

مواضيع مشابهة