XML DOM - বৈশিষ্ট্য ও পদ্ধতি

প্রকৃতি এবং মথুদক্তা XML DOM-কে প্রোগ্রামিং ইন্টারফেস নির্ধারিত করে

ইনস্ট্যান্স

নিচের উদাহরণ XML ফাইল ব্যবহার করে books.xml

ফাংশন loadXMLDoc()বাইরের JavaScript-এ অবস্থিত

ফাংশন loadXMLString()বাইরের JavaScript-এ অবস্থিত

XML ফাইল লোড এবং পার্স করা
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 একটি নোড অবজেক্ট

ইনস্ট্যান্স

books.xml-এর <title> ইলেকট্রনমুখ থেকে টেক্সট পাওয়ার JavaScript কোড

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 পার্সারে লোড করে এবং প্রথম বুকের তথ্য দেখানো হয়

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 স্ট্রিং পার্স - ক্রস ব্রাউজার ইনস্ট্যান্স

নিচের কোডটি একটি XML স্ট্রিং লোড এবং পার্স করে

এই কোড স্প্লিন্টটি loadXMLString ফাংশনটি ব্যবহার করে books.xml XML পার্সার লোড করুন এবং প্রথম বুকের ডাটা দেখান

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