XML DOM locate nodes
An rarrarci nauyi a cikin nauyi da nauyi tsa nauyi a rarrarce tsa nauyi.
Tashi DOM nauyi
A gana nauyi tsa nauyi a cikin nauyi tsa nauyi na nauyi a rarrarce tsa nauyi, ana kira 'tashi nauyi' (taiwa da 'navigating nodes', navigating nodes).
A cikin XML DOM, wa'ade tsa nauyi na nauyi ne na iya amma tsa na na nauyi:
parentNode
childNodes
firstChild
lastChild
nextSibling
previousSibling
Sunan nan na fiyanci a gana: books.xml wanda a fagen kara tsa nauyi na kuma tsa na na kaiyaki kuma yana kira wasu wa'ade tsa nauyi:

DOM - wanda a fagen kara tsa nauyi
Allan nauyi ne na iya amma na wanda a fagen kara tsa nauyi na <book>:
Tunawa
function myFunction(xml) { var xmlDoc = xml.responseXML; var x = xmlDoc.getElementsByTagName("book")[0]; document.getElementById("demo").innerHTML = x.parentNode.nodeName; }
Tunawa:
- Gudan books.xml a tsamman zuwa
xmlDoc
中 - A gani na farko na <book> nauyi
- Gani "x" na wanda a fagen kara tsa nauyi:
A rarrarciya tsa njiyayen na kosai
Kuma tsa wasu yauye tsa tsa na a da girmamman ko tsa njiyayen. Ana yana da rashin wajibciwa tsa wasu alamuran da a fi a kan:
- firstChild
- lastChild
- nextSibling
- previousSibling
Iya da a rarrarciya tsa dabbaren tsa njiyayen, a niya da amma tsa koyen wanda a fagen kara tsa rarrarce tsa nauyi:
function get_nextSibling(n) { var y = n.nextSibling; while (y.nodeType != 1) { y = y.nextSibling; } return y; }
有了上面的函数,我们就可以使用 get_nextSibling(node) 来代替 node.nextSibling 属性。
代码解释:
元素节点的类型为 1。如果同级节点不是元素节点,则移动到下一个节点,直到找到元素节点。
Fari hanyan farko na yankin
Kwakwar kwaya koda, koda na farko na <book> yankin farko na yankin:
Tunawa
<!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; } // Kiyaye farko na farko na yankin bana yankin function get_firstChild(n) { var y = n.firstChild; while (y.nodeType != 1) { y = y.nextSibling; } return y; } </script> </body> </html>
Tunawa:
- Gudan books.xml Yin fari hanyan xmlDoc
- A yin fari hanyan get_firstChild fari hanyan farko na yankin <book> yankin
- Bori yin fari hanyan na farko na yankin yankin
Kwarewar kwaya
- lastChild()
- A yin fari hanyan lastChild() da kisanen fari hanyan a yankin farko na yankin sonki.
- nextSibling()
- 使用 nextSibling() 方法和自定义函数来获取节点的下一个同胞节点。
- previousSibling()
- 使用 previousSibling() 方法和自定义函数来获取节点的上一个同胞节点。