ده نکته در رابطه با XML - DOM

يکی از مهمترين مفاهيم موجود در رابطه با XML ، تکنولوژی DOM)Document Object Model) است . XML نظير برنامه Word و يا DHTML ( مربوط به شرکت ماکروسافت ) ، دارای يک مدل مبتنی بر شی ، برای برنامه نويسی است . در اين مقاله به بررسی ده نکته مهم در رابطه با تکنولوژی XML - DOM خواهيم پرداخت .
چهارشنبه، 25 شهريور 1388
تخمین زمان مطالعه:
موارد بیشتر برای شما
ده نکته در رابطه با XML - DOM
ده نکته در رابطه با XML - DOM
ده نکته در رابطه با XML - DOM






يکی از مهمترين مفاهيم موجود در رابطه با XML ، تکنولوژی DOM)Document Object Model) است . XML نظير برنامه Word و يا DHTML ( مربوط به شرکت ماکروسافت ) ، دارای يک مدل مبتنی بر شی ، برای برنامه نويسی است . در اين مقاله به بررسی ده نکته مهم در رابطه با تکنولوژی XML - DOM خواهيم پرداخت .
نکته اول : تکنولوژی DOM ، يکی از ابزارهای برنامه نويسی موجود بمنظور استقرار يک سند XML در حافظه ، تفسير و پردازش است . ابزار فوق ، اغلب توسط برنامه های VB و ASP بمنظور پردازش فايل های XML استفاده می گردد . DOM بمنزله يک شی بوده که برنامه نويسان با استفاده از آن ، امکان فعال نمودن ، ويرايش و ذخيره يک فايل XML را بدست می آورند .
نکته دوم : ساختار داخلی DOM مشابه چيست ؟ ساختار فوق مشابه يک درخت با شاخه ها و برگ هائی است . برخی از شاخه ها ممکن است دارای شاخه های ديگری باشند. همانگونه که در مقاله ده نکته در رابطه با XML ، اشاره گرديد ، يک سند XML دارای المان هائی است که مناسب است در اين مقطع و از اين زاويه به آنها شاخه گفته شود. بنابراين DOM شامل مجموعه ای از المان ها است . البته ، اغلب برنامه نويسان به آنها " گره " و يا " گره فرزند " می گويند. گره ها ممکن است دارای يک مقدار، تهی و يا شامل ساير گره های فرزند باشند . المان ، گره ، گره های فرزند عملا" در بردارنده مفاهيم مشابه ای می باشند .
نکته سوم : تکنولوژی DOM ، دارای اشياء متفاوتی است . DOMDocument يکی از اشياء موجود بمنظور دستيابی به DOM ( شامل اطلاعات مربوط به سند XML ) است . DOMElement و DOMNode نمونه هائی ديگر از اشياء موجود می باشند . بمنظور انجام عمليات و پردازش های مورد نظر در DOM ، دوازده شی متفاوت پيش بينی شده است . شی DOMDocument ، اولين شی استفاده شده برای فعال نمودن يک سند XML بوده و دارای مجموعه ای از متدها و خصلت ها برای استفاده توسط برنامه نويسان است . مثلا" شی فوق، دارای خصلتی بمنظور بازيابی firstChild ( اولين فرزند ) ، lastChild ( آخرين فرزند ) ، nextSibling ( برادر بعدی ) و previousSibling (برادر قبلی ) است . در حقيقت شی DOMDocument ، تصويری از سند XML را با توجه به قوانين مربوطه در خود نگهداری کرده و با استفاده از خصلت های متعدد موجود ، امکان حرکت در طول سند با روش های متفاوت ميسر می گردد .
نکته چهارم : شی DOMDocument، دارای تعداد زيادی متد مفيد نيز می باشد . مثلا" متد insertBefore برای درج يک گره قبل از موقعيت جاری استفاده می گردد. برای ايجاد يک المان جديد، می توان از متد createElement استفاده کرد . برای افزودن يک المان جديد به شی DOMDocument می بايست دو مرحله عمليات را دنبال نمود . مرحله اول : با استفاده از متد createElement المان ايجاد می گردد ( در اين حالت يک شی DOMNode ، ايجاد می گردد ) . مرحله دوم : با استفاده از متد appendChild شی DOMNode را به DOMDocument اضافه می نمائيم . ( DOMDocument و DOMNode دو شی مجزا با عملکردهای خاص خود می باشند و نبايد آنها را بمنزله اشياء مشابه در نظر گرفت ) .
نکته پنجم : می توان يک سند XML را به Html ، WML و يا يک سند XML ديگر با يک ساختار متفاوت ، تبديل کرد . برای تحقق خواسته فوق ، می توان از متد transformNode استفاده کرد . بدين منظور لازم است از دو شی DOMDocument استفاده گردد. يکی از آنها توسط سند XML فعال و ديگری توسط XSL فعال خواهد شد. با استفاده از متد transformNode ، خروجی بصورت يک رشته خواهد بود . رشته فوق شامل نتايج مورد نظر بمنظور استفاده در WML, Html ، متن و يا ساير موارد دلخواه است .
نکته ششم : تمام اشياء DOMDocument ، دارای يک گره ريشه می باشند . گره فوق تنها ريشه موجود بوده که ساير گره ها مستقيما" و يا غير مستقيم به آن متصل می گردند. در يک سند XML ، دوازده گره متفاوت وجود دارد . NODE_ELEMENT ، NODE_ATTRIBUTE ، NODE_TEXT و NODE_COMMENT نمونه هائی در اين زمينه می باشند . برخی از گره ها ، دارای فرزند و برخی ديگر فاقد فرزند می باشند . مثلا" NODE_ELEMENT می تواند دارای شش فرزند متفاوت ! باشد . ( نگران نباشيد وضعيت فوق در رابطه با يک المان است نه انسان ) و يا NODE_TEXT فاقد فرزند است .
نکته هفتم : يکی ديگر از اشياء بسيار مفيد ، شی HTTPRequest می باشد. شی فوق امکان گفتگوی برنامه هائی که در سمت سرويس گيرنده اجراء می گردند را با سرويس دهنده وب فراهم می نمايد . اين شی شامل تمامی روتين های مورد نياز بمنظور برقراری ارتباط و مبادله اطلاعات است . پس از ارتباط با سرويس دهنده ، از طريق متدهای POST و يا GET ، با استفاده از متد Send می توان يک ارتباط را برقرار کرد. در ادامه با استفاده از خصلت های متعددی نظير : responseXML و يا responseText می توان اقدام به بازيابی XML و يا متن مورد نظرنمود . شی HTTPRequest بهمراه اشياء XML در IE ارائه شده است .
نکته هشتم : پاس دادن رشته های XML در برنامه ها و بين برنامه ها ، يکی از خواسته های مورد نيار است . در اين راستا متدهای Load و LoadXML ازشی DOMDocument مطرح می باشند . متد Load، باعث فعال نمودن يک فايل XML شده ، در صورتيکه متد LoadXML يک رشته را فعال می نمايد . برای توقف فعال نمودن يک سند XML ، می توان از متد abort استفاده کرد . خصلت parseError يک امکان در دسترس ، برای کنترل خطاء و متد save برای ذخيره نمودن XML بصورت يک فايل استفاده می گردد . مثلا" در صورتيکه يک رشته XML را که " خوش شکل " نمی باشد ، فعال نمائيم ، خصلت parseError شامل يک کد خطاء بوده و می توان با استفاده از آن برخورد مناسبی با وضعيت پيش آمده را انجام داد .
نکته نهم : يکی از انواع گره هائی که می توان در يک DOMDocument درج کرد ، DOMProcessingInstruction است . يک PI)Processing Instructing) ، شامل دستورالعمل هائی است که تمايلی به تفسير آنها را نداريم . مثلا" شايد بخواهيم جزئيات مربوط به نسخه خاصی از برنامه RealAudio را که از اطلاعات آن يک المان در سند استفاده می نمايد ، ارسال نمائيم ، در چنين مواردی می توان يک دستورالمل PI بصورت زير در سند درج کرد : <?realaudio version"4.0"?>
نکته دهم : در صورتيکه قصد ارسال اطلاعاتی را داشته باشيم که شامل عباراتی نظير < ، # و يا > باشد ، و نياز است که آنها را از طريق پارسر ارسال نمائيم ، ( استفاده از حروف فوق باعث بروز خطای پارسر خواهد شد ) می توان اطلاعات فوق را در يک گره خاص با نا م NODE_CDATA_SECTION قرار داد . مثلا" عبارت زير مقدار "#91" را بهمراه يک المان استفاده کرده است . پارسر اطلاعات موجود در بخش CDATA را می خواند ولی آنها را تفسير نخواهد کرد .
<house_number><![CDATA[#91]]><house_number>
منبع:http://article.mjsoft.ir
/خ


تبلیغات در راسخون
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
موارد بیشتر برای شما
«کودتا» در ایران، «اعتراض» در فرانسه؛ خوانش تطبیقی بر پایهٔ بیانات رهبر شهید
«کودتا» در ایران، «اعتراض» در فرانسه؛ خوانش تطبیقی بر پایهٔ بیانات رهبر شهید
تهدید به استفاده از بمب مادر علیه ایران؛ بررسی حقوقی مسئولیت آمریکا
تهدید به استفاده از بمب مادر علیه ایران؛ بررسی حقوقی مسئولیت آمریکا
چی کار کنم همه چیز یادم نرود!
چی کار کنم همه چیز یادم نرود!
انگل ژیاردیا در گربه چیست و چه خطراتی برای انسان دارد؟
انگل ژیاردیا در گربه چیست و چه خطراتی برای انسان دارد؟
سقوط هولناک نظامی آمریکایی از سقف ورزشگاه حین مسابقه فوتبال
play_arrow
سقوط هولناک نظامی آمریکایی از سقف ورزشگاه حین مسابقه فوتبال
غارت یک سوپر مارکت توسط معترضان فرانسوی
play_arrow
غارت یک سوپر مارکت توسط معترضان فرانسوی
وقتی اینترنشنال دچار آشفتگی رسانه‌ای می‌شود!
play_arrow
وقتی اینترنشنال دچار آشفتگی رسانه‌ای می‌شود!
تصاویری از وضعیت خیابان‌های پاریس
play_arrow
تصاویری از وضعیت خیابان‌های پاریس
ماکرون: افزایش قیمت سوخت به‌خاطر جنگ علیه ایران است + فیلم
play_arrow
ماکرون: افزایش قیمت سوخت به‌خاطر جنگ علیه ایران است + فیلم
نتانیاهو: فقط من و ترامپ می‌توانیم برنامه هسته‌ای ایران را متوقف کنیم + فیلم
play_arrow
نتانیاهو: فقط من و ترامپ می‌توانیم برنامه هسته‌ای ایران را متوقف کنیم + فیلم
صدای ستاره‌ها و غبار در ویدئوی ناسا + فیلم
play_arrow
صدای ستاره‌ها و غبار در ویدئوی ناسا + فیلم
نتانیاهو اعلام کرد: هدف ما نابودی ایران است + فیلم
play_arrow
نتانیاهو اعلام کرد: هدف ما نابودی ایران است + فیلم
فروش آیفون‌های از آب گرفته‌شده در هرمزگان با الزام گمرکی و رجیستری + فیلم
play_arrow
فروش آیفون‌های از آب گرفته‌شده در هرمزگان با الزام گمرکی و رجیستری + فیلم
حاجی‌بابایی: اگر آمریکا «بمب‌های مادر» را بیاورد، «موشک‌های پدر» را به سراغش خواهیم فرستاد + فیلم
play_arrow
حاجی‌بابایی: اگر آمریکا «بمب‌های مادر» را بیاورد، «موشک‌های پدر» را به سراغش خواهیم فرستاد + فیلم
لحظه فرار کارگر شهرداری از مرگ + فیلم
play_arrow
لحظه فرار کارگر شهرداری از مرگ + فیلم