در این قسمت می خواهیم با  پارسر xml dom آشنا می شویم.

پارسر = تجزیه کننده
بیشتر مرورگرها در دل خود دارای یک تجزیه کننده هستند که از ا ن برای خواندن و اجرا کردن سندهای xml استفاده می کنند

وظیفه پارسر چیست ؟

وظیفه پارسر این است یک شی جاوا اسکریپت می سازد و با ان می تواند به سند xml دست داشته باشد
XML DOM دارای توابعی است که با استفاده از انها می تواند به node های مختلف درخت xml دسترسی داشته باشد و به کمک ان توابع  می تواند node هایی را به این درخت اضافه کرده یا حذف نماید
قبل از اینکه بتوان به یک سند xml دسترسی داشت و محتوای ان را مدیریت کرد باید

ابتدا :

سند xml با استفاده از یک شی از نوع xml dom بار گذاری شود

یک پارسر xml ابتدا یک سند xml را می خواند

سپس

انرا به یک شی از نوع xml dom تبدیل می کند

که

این شی می تواند توسط جاوا اسکریپت بکار گرفته شود
بار گذاری کردن سند XML

قطعه برنامه زیر به زبان جاوا اسکریپت نوشته شده است و کار ان این است که سند XML به نام BOOKS.XML را بار گذاری می کند

if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else // IE 5/6
{
xhttp=new ActiveXObject(“Microsoft.XMLHTTP”);
}

xhttp.open(“GET”,”books.xml”,false);
xhttp.send();
xmlDoc=xhttp.responseXML;

البته من کد بالا را بسیار کامل در آموزش XPATH توضیح داده ام  لذا دیگر توضیح جامع نمی دهم فقط به طور کلی می گویم که :

دستورات IF و ELSE با توجه یه نوع مرورگری که کاربر در حا ل کار با ان است ، شی XML DOM را می سازد

نام این شی در مثال بالا ، xhttp است

سه دستور بعدی هم مربوط به ارسال تقاضا از مرورگر کاربر به سرور وب است که ما فایل BOOKS.XML را می خواهیم

و همچنین پاسخ سرور در این سه دستور قرار دارد

( البته برای اموزش XML DOM شما فعلا نیازی به درک کامل دستورات بالا ندارید )

بار گذاری کردن یک رشته xml
قطعه کد زیر ، یک رشته xml را بار گذاری و تجزیه می کند

if (window.DOMParser)

{
parser=new DOMParser();
xmlDoc=parser.parseFromString(text,”text/xml”);
}

else // Internet Explorer

{
xmlDoc=new ActiveXObject(“Microsoft.XMLDOM”);
xmlDoc.async=false;
xmlDoc.loadXML(text);
}

مرورگر IE از متد loadXML برای تجزیه کردن رشته XML استفاده می کند
در حالیکه سایر مرورگرها از شی DOMParser برای این کار استفاده می کنند

چند نکته :
برای حفظ امنیت بیشتر ، بیشتر مرورگرها اجازه دسترسی از راه DOMAIN را نمی دهند
این یعنی اینکه هم صفحه وب HTML و هم فایل XML باید هر دو روی یک سرور قرار داشته باشند