ایکس ایم ال DOM بروزرسانی

不同的浏览器在 XML DOM 中处理空文本节点的方式是不同的。

实例

下面的例子使用 XML 文件 books.xml

函数 loadXMLDoc(),位于外部 JavaScript 中,用于加载 XML 文件。

显示节点列表的长度
本例显示了一个节点列表的长度。在 IE 和其他浏览器中,结果是不同的。
ਖਾਲੀ ਟੈਕਸਟ ਨੋਡ ਨੂੰ ਨਾ ਸ਼ਾਮਲ ਕਰੋ
本例检查节点的 nodeType,且仅处理元素节点。

DOM 解析中的浏览器差异

所有现代浏览器都支持 W3C DOM 规范。

不过,浏览器之间是有差异的。重要的区别有两点:

  • 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 (ਪੂਰਾ)