آموزش XML   >   XML و جاوا اسکریپت   >   مفسر XML در جاوا اسکریپت

مفسر XML در جاوا اسکریپت ( parser ) :

در بخش های قبلی با نحوه تعریف و ساختار دستوری فایل های XML آشنا شدید . در این بخش می خواهیم شما را با مفسر یا تجزیه کننده یک فایل XML آشنا سازیم .
در یک صفحه HTML ، به فرض اگر بخواهید به یک تگ یا عنصر خاص دسترسی داشته باشید ، از مدل DOM استفاده می کنید . در این مدل ، عنصر یا تگ مورد نظر بر حسب id یا مثلا عنصر مادر Parent آن ، در صفحه شناسایی شده و فراخوانی می شود .
حال اگر بخواهید همین کار را در یک فایل XML انجام دهید ، چه ؟
به عبارت دیگر اگر بخواهید به یک عنصر با المنت در فایل XML دسترسی داشته باشید ، چه باید بکنید .
برای این منظور در مرحله اول باید فایل XML را توسط مفسر یا تجزیه کننده جاوا اسکریپت آن ، به اجزای سازنده اشن ، تجزیه کنید . سپس به وسیله متدهای XML DOM به عنصر مورد نظر رسید .
تمامی مرورگرها ، دارای مفسر درون ساخته ای برای تجزیه فایل های XML هستند .
در مثال های زیر ، انواع حالات تجزیه یک فایل XML را به عناصر سازنده اش ، نشان داده ایم :

مثال های عملی :

مثال عملی 1 : در مثال زیر یک فایل XML به نام books.xml را توسط تجزیه کننده جاوا اسکریپت به اجزای سازنده تبدیل کرده و در شی xmlDoc قرار داده ایم . کد مثال را مرور نمایید . بخش های مختلف کد آن را نیز ، تشریح کرده ایم :

راهنمایی : بعدا از شی xmlDoc  می توانید برای دسترسی به عناصر سند XML دسترسی داشته باشید . این کار را در بخش بعدی آموزش داده ایم .

مثال <script type="text/javascript">
    if (window.XMLHttpRequest)
        {
              xmlhttp=new XMLHttpRequest( );       //  XML  برای اتصال به سرور و خواندن فایل  ajax  ساخت یک شی
         }
xmlhttp.open("GET","books.xml",false);    //   و خواندن آن XML  باز کردن فایل
xmlhttp.send( );                                         //   ارسال شی ایجکس به سرور
xmlDoc=xmlhttp.responseXML;                 //   xmlDoc   در شی XML ریختن محتویات فایل
</script>

مثال عملی 2 : در مثال زیر یک عبارت متنی به زبان XML را به صورت جزء به جزء در یک متغیر رشته ای به نام txt ریخته ایم . سپس در دو کد جداگانه ، که اولی برای سایر مرورگر ها و دومی برای IE است ، متغیر txt را خوانده و آن را تجزیه نموده و در شی xmlDoc ذخیره کرده ایم :

راهنمایی : بعدا از شی xmlDoc  می توانید برای دسترسی به عناصر سند XML دسترسی داشته باشید . این کار را در بخش بعدی آموزش داده ایم .

مثال <script type="text/javascript">
   txt="<bookstore><book>";                                            //  txt  و ریختن آن در متغیر XML خواندن متن
   txt=txt+"<title>Everyday Italian</title>";
   txt=txt+"<author>Giada De Laurentiis</author>";
   txt=txt+"<year>2005</year>";
   txt=txt+"</book></bookstore>";

   if (window.DOMParser)
        {
             parser=new DOMParser( );                                              //   ایجاد یک مفسر جدید
             xmlDoc=parser.parseFromString(txt,"text/xml");             //  xmlDoc   و ریختن آن در شی XML خواندن فایل
         }
   else                                                                                              // Internet Explorer  کد لازم برای 
        {
           xmlDoc=new ActiveXObject("Microsoft.XMLDOM");                //   ایجاد یک مفسر جدید
           xmlDoc.async=false;
           xmlDoc.loadXML(txt);                                                       //  xmlDoc   و ریختن آن در شی XML خواندن فایل
         }
</script>

عدم امکان دسترسی به فایل ها در 2 دامین متفاوت :

برای رعایت مسایل امنیتی ، مرورگرهای جدید امکان دسترسی به یک فایل XML که بر روی سرور دیگری از سرور جاری قرار دارد ، را نمی دهد .
به عبارت دیگر ، برای اجرای دستورات فوق ، باید صفحه درخواست کننده فایل XML و هم خود فایل XML ، هر دو بر روی یک سرور باشند .

معرفی مدل XML DOM :

در بخش بعدی ، به تشریح و معرفی کار با مدل XML DOM ، روش استاندارد برای دسترسی و کار با اجزای بک فایل XML خواهیم پرداخت .



راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان بگذارید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :