XML DOM নোড অবস্থান

নোডগুলোকে নোডের মধ্যে সম্পর্ক ব্যবহার করে অবস্থান নির্ধারণ করা যেতে পারে

উদাহরণ

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

ফাংশন loadXMLDoc()যা বাহিরী জেভাস্ক্রিপ্টে অবস্থিত, এটি একটি XML ফাইল লোড করার জন্য ব্যবহৃত হয়

কোন নোডের পিছনদিক নোড পাওয়া
এই উদাহরণটিতে parentNode অ্যাট্রিবিউট ব্যবহার করে একটি নোডের পিতৃ নোডকে পাওয়া হয়।
নোডের প্রথম সাব-নোডকে পাওয়া
এই উদাহরণটিতে firstChild() মথুদা একটি কাস্টম ফাংশন ব্যবহার করে একটি নোডের প্রথম সাব-নোডকে পাওয়া হয়。

নিবিড়ণ DOM নোড

নোডগুলোর মধ্যে সম্পর্কের মাধ্যমে নোড ট্রিতে নোডকে পাওয়া, সাধারণত নোড নিবিড়ণ ("navigating nodes") হিসাবে জানা হয়。

XML DOM-এ, নোডগুলোর সম্পর্ককে নোডকের অ্যাট্রিবিউট হিসাবে বর্ণনা করা হয়:

  • parentNode
  • childNodes
  • firstChild
  • lastChild
  • nextSibling
  • previousSibling

নিচের চিত্রটি দেখায় books.xml নোড ট্রির একটি অংশ, এবং নোডগুলোর মধ্যে সম্পর্ককে বর্ণনা করে:

DOM নোড ট্রি

DOM - পিতৃ নোড

সব নোডগুলো একটি পিতৃ নোডকে রাখে।নিচের কোডটি <book> এর পিতৃ নোডকে লোকেশন করে:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0];
document.write(x.parentNode.nodeName);

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

  • ব্যবহার করে loadXMLDoc() বাক্য বাক্যbooks.xml" লোড করুন xmlDoc-তে
  • প্রথম <book> এলিমেন্টকে পাওয়া
  • "x"-এর পিতৃ নোডকের নোডটি দেখাও

TIY

খালি টেক্সট নোডকে এক্সক্লুজন

Firefox এবং অন্যান্য কিছু ব্রাউজার, খালি স্পেস এবং ব্রেক লাইনকে টেক্সট নোড হিসাবে বর্ণনা করে, যখন IE এটা করে না。

এটি নিচের এটি অ্যাট্রিবিউটগুলোর মাধ্যমে একটি সমস্যা সৃষ্টি করতে পারে: firstChild, lastChild, nextSibling, previousSibling。

খালি টেক্সট নোডকে (এলিমেন্ট নোডগুলোর মধ্যে খালি জায়গা এবং ব্রেক লাইন সিগন্যাল) লোকেশন করার জন্য, আমরা একটি ফাংশন ব্যবহার করি যা নোডকের ধরন পরীক্ষা করে:

function get_nextSibling(n)
{
y=n.nextSibling;
while (y.nodeType!=1)
  {
  y=y.nextSibling;
  }
return y;
}

উপরের ফাংশনটির মাধ্যমে, আমরা get_nextSibling(node) এর বদলে node.nextSibling অ্যাট্রিবিউট ব্যবহার করতে পারি。

কোডটি ব্যাখ্যা:

এলিমেন্ট নোডকের ধরন 1।যদি সমকক্ষ নোডকে একটি এলিমেন্ট নোড না হয়, তবে পরবর্তী নোডকে সরে যান, পরবর্তীতে একটি এলিমেন্ট নোড পাওয়া পর্যন্ত চলাকার্য করুন।এইভাবে, IE এবং Firefox-এও একই ফলাফল পাওয়া যায়。

প্রথম এলিমেন্ট পাওয়া

নিচের কোডটি প্রথম <book> এর প্রথম এলিমেন্ট নোডকে দেখায়:

<html>
<head>
<script type="text/javascript" src="loadxmldoc.js">
</script>
<script type="text/javascript">
//প্রথম নোডকে একটি এলিমেন্ট নোড কি হয়েছে তা পরীক্ষা করুন
function get_firstChild(n)
{
y=n.firstChild;
while (y.nodeType!=1)
  {
  y=y.nextSibling;
  }
return y;
}
</script>
</head>
<body>
<script type="text/javascript">
xmlDoc=loadXMLDoc("books.xml");
x=get_firstChild(xmlDoc.getElementsByTagName("book")[0]);
document.write(x.nodeName);
</script>
</body>
</html>

প্রদর্শন:

title

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

  • ব্যবহার করে loadXMLDoc() বাক্য বাক্যbooks.xml" xmlDoc তে লোড করা
  • get_firstChild ফাংশন ব্যবহার করে প্রথম <book> এক্সিস করে, এলিমেন্ট নোডের প্রথম সাব-নোড পাওয়া
  • প্রথম সাব-নোড (যা এলিমেন্ট নোডের অংশ)

TIY

উদাহরণ

এই উদাহরণটিতে একই ধরনের ফাংশন ব্যবহৃত হয়:

  • firstChild: TIY
  • lastChild: TIY
  • nextSibling: TIY
  • previousSibling: TIY