عنوان
|
نويسنده
|
مشاهده
|
تعداد
آراء |
امتياز
|
ده نکته در رابطه با XML - DOM |
مديريت وب |
12408 |
69 |
4.9 |
با توجه به جایگاه داده در عصر حاضر و لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و خدمات خود را از طریق سایت www.fabak.ir به مخاطبان محترم عرضه می نماید
 |
ده نکته مهم در رابطه با 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
، به اين نکته اشاره گرديد که
می توان يک سند 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>