ایکس ایم ال ڈوم - خصوصیات اور طریقوں
- پچھلے پیج DOM لوڈ
- پچھلے پیج DOM گریڈ نود
پرزنٹیشن اور متد، XML DOM کو پروگرامنگ انٹرفیس کی شکل میں دکھاتا ہے。
مثال
درج ذیل مثال XML فائل کا استعمال کرتا ہے books.xml。
فونکشن loadXMLDoc()، جو باہری JavaScript میں واقع ہے، XML فائل لوڈ کرنے کے لئے استعمال کی جاتی ہے。
فونکشن loadXMLString()، جو باہری JavaScript میں واقع ہے، XML اسٹرنگ لوڈ کرنے کے لئے استعمال کی جاتی ہے。
پروگرامنگ انٹرفیس
DOM XML کو ایک سلسلہ نیود انٹرفیسز کی شکل میں نمائش میں لگا رہا ہے۔ نیود تک JavaScript یا دیگر پروگرامنگ زبانوں کے ذریعے رسائی حاصل کی جاسکتی ہے۔ اس تعلیمی کتاب میں، ہم JavaScript کا استعمال کرتے ہیں。
DOM کا پروگرامنگ انٹرفیس ایک معیاری پرزنٹیشن اور متدوں کے ذریعے پیمانہ بند کیا گیا ہے。
کیا属性آپ سیٹ 'کچھ چی ہو' کے طور پر استعمال کرتے ہیں (مثلاً نیود کا نام 'book' ہے)。
روشمعمولاً به روش "برای چیزی انجام چیزی" استفاده میشوند (مثلاً حذف "book" نقطه).
ویژگیهای XML DOM
برخی از ویژگیهای DOM معمول:
- x.nodeName - نام x
- x.nodeValue - ارزش x
- x.parentNode - نقطهی پدر x
- x.childNodes - فرزندان x
- x.attributes - نقطههای خاصیت x
نکته:در لیست بالا، x یک شیء نقطه است.
روشهای XML DOM
- x.getElementsByTagName(name) - گرفتن تمام عناصر با نام مشخص
- x.appendChild(node) - اضافه کردن فرزند به x
- x.removeChild(node) - حذف فرزند از x
نکته:در لیست بالا، x یک شیء نقطه است.
مثال
کد JavaScript برای گرفتن متن از عناصر <title> در books.xml:
txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
در این دستور اجرا شده، مقدار ذخیره شده در txt "Harry Potter" است.
توضیح:
- xmlDoc - XML DOM ایجاد شده توسط تحلیلگر
- getElementsByTagName("title")[0] - اولین عناصر <title>
- childNodes[0] - اولین فرزند <title> عناصر
- nodeValue - ارزش نقطه (متن خود)
در مثال بالا، getElementsByTagName یک روش است، و childNodes و nodeValue دو خاصیت هستند.
تحلیل فایل XML - نمونهای از مرورگرهای متعدد
مقابل کد تکه اسکریپت است که از کارکرد loadXMLDoc استعمال میکند books.xml XML را در تحلیلگر بارگذاری کرده و دادههای اولین book را نمایش میدهد:
xmlDoc=loadXMLDoc("books.xml"); document.write(xmlDoc.getElementsByTagName("title")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("author")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("year")) [0].childNodes[0].nodeValue);
خروج:
هری پاٹر جی کے. رولنگ 2005
در مثال بالا، ما برای هر نقطهی متنی از childNodes[0] استفاده میکنیم، حتی اگر هر عنصر فقط یک نقطهی متنی داشته باشد. این به دلیل اینکه روش getElementsByTagName() همیشه یک آرایه را برمیگرداند است.
تحلیل رشته XML - نمونهای از مرورگرهای متعدد
مقابل کد بارگذاری و تحلیل یک رشته XML است:
مقابل کد تکه اسکریپت است که از کارکرد loadXMLString استعمال میکند books.xml XML پارسیکر لوڈ کریں، اور پہلے book کی معلومات دکھائیں:
text="<bookstore>" text=text+"<book>"; text=text+"<title>Harry Potter</title>"; text=text+"<author>J K. Rowling</author>"; text=text+"<year>2005</year>"; text=text+"</book>"; text=text+"</bookstore>"; xmlDoc=loadXMLString(text); document.write(xmlDoc.getElementsByTagName("title")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("author")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("year")) [0].childNodes[0].nodeValue);
خروج:
هری پاٹر جی کے. رولنگ 2005
- پچھلے پیج DOM لوڈ
- پچھلے پیج DOM گریڈ نود