XML DOM নোড লোকেশন

নোডগুলোকে নোডের মধ্যে সম্পর্ক ব্যবহার করে লোকেশন করা যেতে পারে。

নোড DOM লোকেশন

নোডের সম্পর্কের মাধ্যমে নোড ট্রিতে নোড পৌঁছানো, সাধারণত 'নোড লোকেশন' (বা নোড নেভিগেশন, navigating nodes) হিসাবে উল্লেখ করা হয়。

এক্সএমএল ডমে, নোডের সম্পর্ক নোডের এটা হিসাবে সংজ্ঞায়িত হয়:

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

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

DOM নোড ট্রি

DOM - পিতা নোড

সমস্ত নোড একটি মাত্র পিতা নোড রয়েছে। নিচের কোড ব্যবহার করে <book> এর পিতা নোড নিয়ে যায়:

উদাহরণ

function myFunction(xml) {
var xmlDoc = xml.responseXML;
    var x = xmlDoc.getElementsByTagName("book")[0];
    document.getElementById("demo").innerHTML = x.parentNode.nodeName;
}

আপনার নিজেই চেষ্টা করুন

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

  1. যা books.xml নিয়ে আসা xmlDoc এখানে
  2. প্রথম <book> এলিমেন্ট নোড পাওয়া করুন
  3. "x" এর প্রথম মাত্রা নোডের নাম প্রদর্শন করুন

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

কিছু ব্রাউজার খালি অথবা সাইনসইলসকে টেক্সট নোড হিসাবে দেখতে পারে। এটা নিচের এটা প্রয়োগের সময় সমস্যা সৃষ্টি করতে পারে:

  • firstChild
  • lastChild
  • nextSibling
  • previousSibling

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

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

উপরের ফাংশনগুলির মাধ্যমে আমরা get_nextSibling(node) কে ব্যবহার করতে পারি যা node.nextSibling এসপ্যাসিফিক্যাশনের বিকল্প

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

এলিমেন্ট নোড়ের ধরন 1।যদি সমস্ত সমস্ত নোড় একটি এলিমেন্ট নোড় না হয়, তবে পরবর্তী নোড়ে চলে যান, পরবর্তী নোড়টি একটি এলিমেন্ট নোড় পর্যন্ত চলে যান。

প্রথম সাবনোড় নোড় পাওয়া

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

উদাহরণ

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        myFunction(this);
    }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
function myFunction(xml) {
    var xmlDoc = xml.responseXML;
    var x = get_firstChild(xmlDoc.getElementsByTagName("book")[0]);
    document.getElementById("demo").innerHTML = x.nodeName;
}
// প্রথম নোড়টি একটি এলিমেন্ট নোড় কি না তা পরীক্ষা করুন
function get_firstChild(n) {
    var y = n.firstChild;
    while (y.nodeType != 1) {
        y = y.nextSibling;
    }
    return y;
}
</script>
</body>
</html>

আপনার নিজেই চেষ্টা করুন

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

  1. যা books.xml xmlDoc-এ লোড করা
  2. get_firstChild ফাংশন ব্যবহার করে প্রথম <book> নোড়ের প্রথম সাবনোড় নোড় পাওয়া যায়
  3. প্রথম সাবনোড় নোড়ের নোড় নাম প্রদর্শন

আরও উদাহরণ

lastChild()
lastChild() এবং স্বনির্মিত ফাংশন ব্যবহার করে নোডের শেষতম সাবনোড় নোড় পাওয়া যায়。
nextSibling()
nextSibling() মধ্যস্থতা এবং স্বনির্মিত ফাংশনের মাধ্যমে নোডের পরবর্তী সহব্রাতী নোড অর্জন করা যায়。
previousSibling()
previousSibling() মধ্যস্থতা এবং স্বনির্মিত ফাংশনের মাধ্যমে নোডের পূর্ববর্তী সহব্রাতী নোড অর্জন করা যায়。