Kufikia Mjumbe wa DOM wa XML

Inaweza kufikia maelezo kwa kutumia mawasiliano ya maelezo kati ya maelezo.

Kufikia maelezo wa DOM

Kufikia maelezo wa kipimo cha kipimo cha kipimo kwa kutumia mawasiliano ya maelezo, hivyo inaitwa kama "kufikia maelezo kwa sababu ya mawasiliano ya maelezo" (au kama "kufikia maelezo kwa sababu ya mawasiliano ya maelezo", maelezo).

Kwenye XML DOM, mawasiliano ya maelezo inadaiwa kwa kuzingatia uwezo wa maelezo:

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

Maelezo yaliyotunzwa ya kipimo ni: books.xml Ni sehemu ya mababu wa maelezo wa kipimo na inaonyesha mawasiliano ya maelezo:

Mfano wa Mjumbe wa DOM

DOM - mababu wa maelezo

Wote wa maelezo wana mababu mmoja tu. Mifano inayofikia mababu wa <book> ni:

Mifanikio

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

Jifunze tena

Mafanikio ya mtaarifu:

  1. Kuwa books.xml Inaonyesha xmlDoc Kwa sababu ya
  2. Pata maelezo wa kipimo kwa kutumia <book> kwanza
  3. Muungano wa kipimo "x" wa mababu wa kipimo

Kuwa na ujumbe wa kipimo kidogo

Mwili wa kaka mwenye vifaa vyenye vifikia inaweza kuiangalia kwa ukosa na mabomu kama maelezo ya kipimo. Hii inatokana na kusoma kwa kusababisha matatizo wakati kutumia maelezo yanayotumiwa:

  • firstChild
  • lastChild
  • nextSibling
  • previousSibling

Kuwa kuwa kuwa tena kuwa na ujumbe wa kipimo kidogo, tumekuwa tunafanya kufikia maelezo wa kipimo kidogo kwa kutumia mifano:

function get_nextSibling(n) {
    var y = n.nextSibling;
    ingeuwa (y.nodeType != 1) {
        y = y.nextSibling;
    }
    kisha kuwa y = y.nextSibling;
}

Na kifaa hiki, tunaweza kutumia get_nextSibling(node) kuhusu matokeo wa kipengele cha kina cha node.nextSibling.

Tazama makala ya kifaa:

Aina ya kipengele cha kina ni 1. Ikiwa kipengele cha kina cha kwanza haikuwa kipengele cha kina, kumtafuta kipengele cha kina cha kwanza hadi kufikia kipengele cha kina.

Pata kipengele cha kwanza cha kina

Makala yanayotunza kipengele cha kwanza cha <book> cha kwanza cha kina:

Mifanikio

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    ingeuwa (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;
}
// Takaisha kipengele cha kwanza kiliweziwa kama kipengele cha kina
function get_firstChild(n) {
    var y = n.firstChild;
    ingeuwa (y.nodeType != 1) {
        y = y.nextSibling;
    }
    kisha kuwa y = y.nextSibling;
}
</script>
</body>
</html>

Jifunze tena

Mafanikio ya mtaarifu:

  1. Kuwa books.xml Inawekwa kwenye xmlDoc
  2. Tumia kifaa cha get_firstChild kwenye kipengele cha kwanza cha <book> kufikia kipengele cha kwanza cha kina
  3. Ingeza jina la kipengele cha kwanza cha kina

Mafanikio mengenea

lastChild()
Kuchukua mtindo wa lastChild() na kifaa kizofikia kwa kufikia mwanafunzi wa kina wa kwanza wa kipengele.
nextSibling()
Tumia method ya nextSibling() na funguo za kufanana kwa kufikia mwingine wa kiume wa kifaa.
previousSibling()
Tumia method ya previousSibling() na funguo za kufanana kwa kufikia mwingine wa kiume wa kifaa.