رفتن به مطلب

مفسر xml در جاوا اسکریپت


lion

پست های پیشنهاد شده

مفسر 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 خواهیم پرداخت .

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
×
×
  • اضافه کردن...