آموزش 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 خواهیم پرداخت .
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان بگذارید :