آموزش XML-مدل DOM
DOM یک راه استاندارد برای دسترسی به اسناد و دستکاری آنها تعریف میکند.
DOM مخفف سرنام واژگان Document Object Model به معنی مدل شیء سند میباشد.
XML DOM
XML DOM یک راه استاندارد برای دسترسی به اسناد XML و تغییر آنها تعریف میکند.
XML DOM یک سند XML را با ساختار درختی نمایش میدهد.
تمام عناصر از طریق درخت DOM میتوانند در دسترس قرار گیرند. محتوی آنها (نوشتهها و صفتها) میتوانند اصلاح یا حذف شوند، و عناصر جدیدی میتوانند ساخته شوند. عناصر، متن عناصر و صفات عناصر همه به عنوان nodes (به معنی گِرهها) شناخته میشوند.
شما در آموزش XML DOM میتوانید در مور XML DOM بیشتر یاد بگیرید.
HTML DOM
HTML DOM یک راه استاندارد برای دسترسی به اسناد HTML و تغییر آنها تعریف میکند.
به وسیله HTML DOM تمام عناصر HTML میتوانند در دسترس قرار بگیرند.
شما در آموزش JavaScript میتوانید در مور HTML DOM بیشتر یاد بگیرید.
مثال بارگذاری یک فایل XML در مرورگر
مثال زیر یک سند XML را ("note.xml") به یک شیء XML DOM تبدیل میکند و سپس به وسیله جاوا اسکریپت اطلاعاتی را از آن خارج میکند:
Example
<body>
<h1>W3Schools Internal Note</h1>
<div>
<b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span>
</div>
<script>
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","note.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
</script>
</body>
</html>
Try it yourself »
نکته مهم !
برای استخراج "Tove" از عنصر <to> در فایل XML بالا، ساختار اینگونه است:
توجه کنید که حتی اگر فایل XML تنها شامل یک عنصر <to> باشد شما هنوز هم باید [index[0 آرایه را مشخص کنید. به دلیل این که متد ()getElementsByTagName یک آرایه را بر میگرداند.
مثال بارگذاری یک رشته XML در مرورگر
مثال زیر یک رشته XML را به یک شیء XML DOM تبدیل میکند و سپس به وسیله جاوا اسکریپت اطلاعاتی را از آن خارج میکند:
Example
<body>
<h1>W3Schools Internal Note</h1>
<div>
<b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span>
</div>
<script>
txt="<note>";
txt=txt+"<to>Tove</to>";
txt=txt+"<from>Jani</from>";
txt=txt+"<heading>Reminder</heading>";
txt=txt+"<body>Don't forget me this weekend!</body>";
txt=txt+"</note>";
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
}
else // Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(txt);
}
document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
</script>
</body>
</html>
Try it yourself »
- نوشته شده توسط میلاد نظری
- بازدید: 9422
دیدگاهها
ممنون از اینکه جواب دادید..
خواهش میکنم سوالی اگه داشتید بپرسید من و همکارانم جوابتون رو به سرعت میدیم
موفق و موید باشید
بله..کنترل و اسپیس رو میزنم ولی همه چیز رو نشون میده بجز اکیتوکس ابجکت!
دقت داشته باشید، با زدن ctrl + space متدها و اشیاء مربوط به همان زبان و در بعضی مواقع موارد مربوط به همان کد موردنظر رو میاره. مثلا وقتی برای خاصیت style یه تگ ctrl+space رو بزنید، برای شما تمام آیتمهایی رو نشون میده که در تگ style قابل نوشتن است.
این از مزایا و هوشمندی این نرم افزار است.
در مورد ActiveXObject هم باید بگم که این در زبان جاوااسکریپت هست. شما باید در اون زبان از این قابلیت استفاده کنید.
این نکته در مورد استفاده راحت تر از این نرم افزار هست.
نکته فنی رو هم دوست عزیزمون آقای حمید فرمودند.
شما برای تعریف کردن یک شی ایکس ام ال تا کلا شی های فعال باید حتما قبل کلمه avtivexobject کلمه new رو قرار بدی مثلا به این شکل
var hamid=new ActiveXobject()
در صوزت گذاشتن کلمه new کلمه activeXobject
autocomplete خواهد شد
با استفاده از جاوا اسکریپت شما دارید یک شی xml ایجاد میکنید؟
با اچ تی ام ال دیگه...مگه فایل اصلی که ایکس ام ال رو بهش اتچ می کنیم نباید اچ تی ام ال باشه؟!
شما زبان دیگه ای رو پیشنهاد میدید!؟
منطظورتون از گزینه های پیشنهادی در netbeans
همون autocomplete هستش؟ که با زدن کلیدهای ctrl+space گزینه ها رو برای هر قسمت از کدنویسی ارائه میده ؟
خسته نباشید..
من دارم از نت بینز استفاده میکنم..چرا گزینه های پیشنهادی رو نمیاره..مثلا وقتی دارم
ActiveXObject
رو مینویسم.نوشتن این کلمات سخته!
با سلام و تشکر.
با چه زبانی دارید کد مینویسید؟؟؟