lion 2 ارسال شده در تیر 19، 1393 گزارش اشتراک گذاری ارسال شده در تیر 19، 1393 مفسر 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 خواهیم پرداخت . لینک به دیدگاه به اشتراک گذاری در سایت های دیگر More sharing options...
پست های پیشنهاد شده