تفاوت‌های مرورگر XML DOM

مختلف براؤزر XML DOM میں خالی فونت نود کو معالجہ کرنے کا طریقہ مختلف ہوتا ہے.

مثال

مثال میں، XML فائل استعمال کیا گیا ہے books.xml.

فونکشن loadXMLDoc()، جو بیرونی جاوا اسکریپٹ میں لوڈ کرنے کے لئے استعمال کی جاتی ہے.

نود لیسٹ کی لمبائی کو دکھنا
نود لیسٹ کی لمبائی کو دکھا گیا ہے، جس میں IE اور دیگر براؤزر میں اختلاف ہوتا ہے.
عناصر کے درمیان خالی نوڈ کو نادید رکھیں
اس مثال میں، نود کا nodeType چکا گیا ہے، اور صرف عناصر نود کو معالجہ کیا گیا ہے.

براؤزروں کے درمیان DOM پارسی کی اختلافات

تمام جدید براؤزر W3C DOM معیار کو مدد فراہم کرتے ہیں.

بھی، براؤزر کے درمیان اختلاف ہوتا ہے. اہم فرق دو نکات ہیں:

  • XML لوڈ کرنے کا طریقہ
  • خالی اور نیماش کو معالجہ کرنے کا طریقہ

درمیانپars کردن XML DOM” اس سیکشن میں، مختلف طرح سے XML لوڈ کرنے کا تفصیل دیا گیا ہے.

اس سیکشن میں، ہم خالی اور نیماش کو مختلف طرح سے معالجہ کریں گے.

DOM - خالی اور نیماش

XML اکثر نودوں کے درمیان نیماش یا خالی اکثریت موجود ہوتا ہے، جو کسی سادے ویرایشر (مثلاً نوت بوک) میں بغیر خطرے میں شامل ہوتا ہے.

مثال (متن میں ویرایش) کا، ہر سطر میں CR/LF موجود ہوتا ہے، اور ہر ذیلی نود کے پچھلے دو خالی جگہوں کے ساتھ:

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

Firefox، اور دیگر کچھ براؤزر، خالی ساحلی یا نیمه پیمایش کا فونت نود بنیاد پذیرتی کریں گے، جبکہ Internet Explorer اس طرح نہیں کریگا.

درج کی گئی کوڈ شق (books.xml کا) روتھ نمونہ کتنا نمونوں کا حامل ہے: }}

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement.childNodes;
document.write("Number of child nodes: " + x.length);

مثال کی تفسیر:

  • استعمال کے ذریعے loadXMLDoc() " کو لوڈ کریںbooks.xml" xmlDoc میں لوڈ کریں
  • روٹھ نمونہ کا ذیلی نمونوں حاصل کریں
  • ذیلی نمونوں کی تعداد نکالنے

نتیجہ استعمال کئے جانے والے بورسر کی جانب سے متاثر ہوتا ہے۔ فائرفاکس میں 9 اور آئی ای کا نتیجہ 4 ہوتا ہے。

TIY

عناصر کے درمیان خالی نوڈ کو نادید رکھیں

اگر عناصر کے درمیان خالی متن نوڈ کو نادید رکھنا ہو تو نوڈ نمونوں کو جانچنا پڑتا ہے۔ عناصر کا نمونہ نمبر 1 ہوتا ہے:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement.childNodes;
for (i=0;i<x.length;i++)
{ 
if (x[i].nodeType==1)
  {// only process element nodes 
  document.write(x[i].nodeName);
  document.write("<br />");
  } 
}

مثال کی تفسیر:

  • استعمال کے ذریعے loadXMLDoc() " کو لوڈ کریںbooks.xml" xmlDoc میں لوڈ کریں
  • روٹھ نمونہ کا ذیلی نمونوں حاصل کریں
  • تمام ذیلی نوڈوں کا نوڈ نمونہ حاصل کریں۔ اگر نوڈ نمونہ "1" ہے تو یہ ایک ایلیمنٹ نوڈ ہوگا

TIY (سادا) یا TIY (پورا)