XML DOM نئیڈوں کی نشاندہی

ਨੋਡ ਨੂੰ ਨੋਡ ਸਬੰਧ ਰਾਹੀਂ ਲੋਕੇਸ਼ਨ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ。

ਨੋਡ ਲੋਕੇਸ਼ਨ ਵਿੱਚ DOM ਨੋਡ

ਨੋਡ ਸਬੰਧ ਰਾਹੀਂ ਨੋਡ ਟ੍ਰੀ ਵਿੱਚ ਨੋਡ ਪਹੁੰਚਣ ਨੂੰ ਆਮ ਤੌਰ 'ਤੇ 'ਨੋਡ ਲੋਕੇਸ਼ਨ' (ਜਾਂ ਨੇਵੀਗੇਸ਼ਨ ਨੋਡ, navigating nodes) ਕਿਹਾ ਜਾਂਦਾ ਹੈ。

XML DOM ਵਿੱਚ, ਨੋਡ ਸਬੰਧ ਨੂੰ ਨੋਡ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ ਦੇ ਰੂਪ ਵਿੱਚ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ:

  • 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 ਪ੍ਰਤੀਯੋਗ

ਕੋਡ ਵਿਸਥਾਰਿਤ ਕਰੋ

ਉਪ ਨੋਡ ਦੇ ਤੰਤਰ ਇੱਕ ਹੈ।ਜੇਕਰ ਸਮਾਨ ਸ਼੍ਰੇਣੀ ਦੇ ਨੋਡ ਤੰਤਰ ਨੋਡ ਨਹੀਂ ਹਨ ਤਾਂ ਅਗਲੇ ਨੋਡ ਨੂੰ ਜਾਓ ਜਦੋਂ ਤੱਕ ਤੰਤਰ ਨੋਡ ਨਹੀਂ ਮਿਲਦਾ

ਪਹਿਲੀ ਉਪ ਨੋਡ ਪ੍ਰਾਪਤ ਕਰੋ

ਹੇਠ ਲਿਖੇ ਕੋਡ ਪਹਿਲੇ <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. ਪਹਿਲੇ <book> ਨੋਡ ਉੱਤੇ get_firstChild ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪਹਿਲੀ ਉਪ ਨੋਡ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰੋ
  3. ਪਹਿਲੀ ਉਪ ਨੋਡ ਦੇ ਨੋਡ ਨਾਮ ਨੂੰ ਬਾਹਰ ਕੱਢੋ

ਹੋਰ ਉਦਾਹਰਨ

lastChild()
ਉਪਯੋਗ ਕਰਕੇ lastChild() ਮੱਥਕ ਅਤੇ ਪਰਸੋਨਲ ਫੰਕਸ਼ਨ ਨਾਲ ਨੋਡ ਦੇ ਆਖਰੀ ਉਪ ਨੋਡ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰੋ।
nextSibling()
nextSibling() ਮੱਥਕ ਅਤੇ ਪਰਸੰਦ ਫੰਕਸ਼ਨ ਦੀ ਮਦਦ ਨਾਲ ਨੋਡ ਦੇ ਅਗਲੇ ਸਾਥੀ ਨੋਡ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨਾ。
previousSibling()
previousSibling() ਮੱਥਕ ਅਤੇ ਪਰਸੰਦ ਫੰਕਸ਼ਨ ਦੀ ਮਦਦ ਨਾਲ ਨੋਡ ਦੇ ਪਿਛਲੇ ਸਾਥੀ ਨੋਡ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨਾ。