ایکس ایم ال ڈوم - کیماتاب اور طریقت

صفت اور طریقوں نے XML DOM کو پروگرامنگ انٹر فیس کی شکل میں دسایا ہے۔

ਉਦਾਹਰਣ

درج کئے ہوئے مثال میں XML فائل کا استعمال کیا گیا ہے books.xmlہے

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

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

XML فائل کو لوڈ اور پارسی کرنے کا عمل
XML جملہ کو لوڈ اور پارسی کرنے کا عمل

پروگرامنگ انٹر فیس

DOM XML کو ایک سلسلہ نکات انٹر فیس کی شکل میں نمائش کردار ہے۔ نکات کو جائز کریں یا کسی دیگر پروگرامنگ زبان کے ذریعہ جائز کریں، اس درس میں ہم JavaScript کا استعمال کرتے ہیں۔

DOM کا پروگرامنگ انٹر فیس ایک معیاری صفات اور طریقوں کے ذریعہ دسایا گیا ہے۔

صفتکثیراً بہمین طریق استعمال کیا جاتا ہے کہ ‘کچھ چیزی کیا ہوتا ہے’ (مثلاً نیٹ کا نام ‘book’ ہے)۔

ਮੈਥਡਆਮ ਤੌਰ 'ਤੇ "ਕੋਈ ਚੀਜ਼ ਨਾਲ ਕੀ ਕਰਨਾ" ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ (ਉਦਾਹਰਣ: "book" ਨੋਡ ਹਟਾਓ)

XML 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 ਇੱਕ ਨੋਡ ਆਬਜੈਕਟ ਹੈ。

ਉਦਾਹਰਣ

books.xml ਵਿੱਚ <title> ਇਲੈਕਟਰਨ ਤੋਂ ਟੈਕਸਟ ਲੈਣ ਵਾਲਾ ਜਾਵਸਕਰਿਪਟ

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 ਫਾਈਲ - ਕਰਸ ਬਰਾਊਜ਼ਰ ਇੰਸਟੈਂਸ

ਨਿਚੋਰੀ ਦਾ ਸਕ੍ਰੀਪਟ ਲੋਡਐਕਸਮਲਡਾਕ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ 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);

ਆਉਟਪੁਟ:

Harry Potter
J K. Rowling
2005

TIY

ਉੱਪਰੋਕਤ ਉਦਾਹਰਣ ਵਿੱਚ, ਅਸੀਂ ਹਰੇਕ ਟੈਕਸਟ ਨੋਡ ਲਈ childNodes[0] ਵਰਤਦੇ ਹਾਂ, ਭਾਵੇਂ ਹਰੇਕ ਇਲੈਕਟਰਨ ਇੱਕ ਟੈਕਸਟ ਨੋਡ ਹੋਵੇ ਨਹੀਂ। ਇਹ ਇਸ ਲਈ ਹੈ ਕਿ getElementsByTagName() ਮੈਥਡ ਹਮੇਸ਼ਾ ਇੱਕ ਮੰਡਲੀ ਵਾਪਸ ਦਿੰਦਾ ਹੈ。

ਪਰਸਿੰਗ ਕੀਤੀ ਗਈ XML ਸਟਰਿੰਗ - ਕਰਸ ਬਰਾਊਜ਼ਰ ਇੰਸਟੈਂਸ

ਨਿਚੋਰੀ ਨੂੰ ਲੋਡ ਅਤੇ ਪਰਸਿੰਗ ਕਰਦਾ ਹੈ

ਨਿਚੋਰੀ ਦਾ ਸਕ੍ਰੀਪਟ ਲੋਡਐਕਸਮਲਸਟਰਿੰਗ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ 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);

ਆਉਟਪੁਟ:

Harry Potter
J K. Rowling
2005

TIY