XML DOM নোড প্রবেশ

DOM-এর মাধ্যমে, আপনি XML ডকুমেন্টের প্রত্যেক নোডকে প্রাপ্ত করতে পারেন。

উদাহরণ

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

ফাংশন loadXMLDoc()বাহ্যিক JavaScript-এর মধ্যে অবস্থিত, XML ফাইল লোড করার জন্য ব্যবহৃত

নোড তালিকার নিচের সংখ্যায় নোডকে প্রাপ্ত করা
এই উদাহরণে getElementsByTagname() পদ্ধতি ব্যবহার করে "books.xml"-এর তৃতীয় টাইটেল তত্ত্বকে পাওয়া হয়。
length এক্সিজুট ব্যবহার করে তত্ত্বকে পুনরাবৃত্তি
এই উদাহরণে length এক্সিজুট ব্যবহার করে "books.xml"-এর সব টাইটেল তত্ত্বকে পুনরাবৃত্তি করা হয়。
তত্ত্বের নোড টাইপ দেখা
এই উদাহরণে nodeType এক্সিজুট ব্যবহার করে "books.xml"-এর মূল তত্ত্বের নোড টাইপ পাওয়া হয়。
তত্ত্ব নোডগুলির পুনরাবৃত্তি
এই উদাহরণে nodeType এক্সিজুট ব্যবহার করে "books.xml"-এর তত্ত্ব নোডগুলি এককরণ করা হয়。
নোডের সম্পর্ক ব্যবহার করে তত্ত্ব নোডগুলির পুনরাবৃত্তি
এই উদাহরণে nodeType এবং nextSibling এক্সিজুট ব্যবহার করে "books.xml"-এর তত্ত্ব নোডগুলি এককরণ করা হয়。

তত্ত্ব প্রাপ্ত করা

আপনি তত্ত্বকে প্রাপ্ত করার জন্য তিনটি পদ্ধতি ব্যবহার করতে পারেন:

  1. getElementsByTagName() পদ্ধতি ব্যবহার করে
  2. নোড ট্রি-তে প্রবাহ করে ব্যবহার করে পুনরাবৃত্তি (প্রত্যক্ষণকরণ)
  3. নোডের সম্পর্ক ব্যবহার করে নোড ট্রি-তে প্রবাহ করা

getElementsByTagName() পদ্ধতি

getElementsByTagName() মথুদিক ট্যাগ নামযুক্ত সব তত্ত্ব ফিরিয়ে দেয়。

গঠনমূলক

node.getElementsByTagName("tagname");

উদাহরণ

নীচের উদাহরণটি x এলিমেন্টের সমস্ত <title> এলিমেন্টকে রিটার্ন করে

x.getElementsByTagName("title");

মন্তব্য: উপরোক্ত উদাহরণটি শুধুমাত্র x নোডের <title> এলিমেন্টকে রিটার্ন করে। যদি আপনি XML ডকুমেন্টের সমস্ত <title> এলিমেন্টকে রিটার্ন করতে চান, তবে ব্যবহার করুন:

xmlDoc.getElementsByTagName("title");

এখানে, xmlDoc হল ডকুমেন্ট স্বয়ং (নোড ডকুমেন্ট)

DOM Node List

getElementsByTagName() মথুদা নোড তালিকা (node list) রিটার্ন করে। নোড তালিকা হল নোডের একটি আদা

নীচের কোড ব্যবহার করে loadXMLDoc() 把 "books.xml" xmlDoc লোড করুন, এবং <title> নোডের একটি তালিকা সংরক্ষণ করুন x-এ

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title");

সাবডাক্স দ্বারা x-এর <title> এলিমেন্ট পড়া যায়। তৃতীয় <title> পড়ার জন্য আপনি লিখতে পারেন:

y=x[2];

TIY

মন্তব্য:সাবডাক্স নয়ায়ায়া থেকে শুরু হয়

এই টিউটোরিয়ালের পরবর্তী অধ্যায়ে, আপনি Node List সম্পর্কে আরও বেশি জানবেন。

DOM Node List Length

length অ্যাট্রিবিউট নোড তালিকার দৈর্ঘ্যকে নির্দেশ করে (অর্থাৎ নোডের সংখ্যা)

আপনি length অ্যাট্রিবিউটটি ব্যবহার করে একটি নোড তালিকা বৃত্তান্ত করতে পারেন:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title");
for (i=0;i

উদাহরণ ব্যাখ্যা:

  1. ব্যবহার করুন loadXMLDoc() 把 "books.xml" xmlDoc লোড করুন
  2. সমস্ত <title> এলিমেন্ট নোড পাও
  3. প্রত্যেক <title> এলিমেন্টের টেক্সট নোডের মান আউটপুট করুন

TIY

Node Type

XML ডকুমেন্টের documentElement অ্যাট্রিবিউট হল রুট নোড

নোডের nodeName অ্যাট্রিবিউট হল নোডের নাম

নোডের nodeType অ্যাট্রিবিউট হল নোডের ধরন

আপনি আগামী অধ্যায়ে নোড অ্যাট্রিবিউটস সম্পর্কে আরও বেশি জানবেন。

TIY

নোড বৃত্তান্ত

নীচের কোড রুট নোডের সাব-নোডকে বৃত্তান্ত করে, যা একটি এলিমেন্ট নোড

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement.childNodes;
for (i=0;i

উদাহরণ ব্যাখ্যা:

  1. 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  2. রুট এলিমেন্টের সাব-নোড পাও
  3. প্রত্যেক সাব-নোডের নোডের ধরন পরীক্ষা করুন। যদি নোডের ধরন "1" হয়, তবে তা একটি এলিমেন্ট নোড
  4. 如果是元素节点,则输出节点的名称

TIY

利用节点的关系进行导航

下面的代码通过利用节点的关系在节点树中进行导航:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0].childNodes;
y=xmlDoc.getElementsByTagName("book")[0].firstChild;
for (i=0;i");
  }
y=y.nextSibling;
}
  1. 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  2. 获得第一个 book 元素的子节点
  3. 把 "y" 变量设置为第一个 book 元素的第一个子节点
  4. 检查每个子节点的节点类型,如果节点类型是 "1",则是元素节点
  5. 如果是元素节点,则输出该节点的名称
  6. 把 "y" 变量设置为下一个同级节点,并再次运行循环

TIY