XML DOM نیا حصو تلاش کرنا
- ਪਿਛਲਾ ਪੰਨਾ DOM ਬਰਾਉਜ਼ਰ
- ਅਗਲਾ ਪੰਨਾ DOM ਨੂੰ ਨੋਡ ਲੈਣਾ
ਨੋਡ ਨੂੰ ਨੋਡ ਦਰਮਿਆਨ ਸਬੰਧਾਂ ਦੀ ਮਦਦ ਨਾਲ ਤਸਦੀਕ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ。
ਉਦਾਹਰਣ
ਹੇਠ ਦੇ ਉਦਾਹਰਣ ਐਕਸਮਲ ਫਾਈਲ ਦਾ ਉਪਯੋਗ ਕਰਦੇ ਹਨ books.xml。
ਫੰਕਸ਼ਨ loadXMLDoc()ਜੋ ਬਾਹਰੀ ਜਾਵਾਸਕ੍ਰਿਪਟ ਵਿੱਚ ਹੈ, ਐਕਸਮਲ ਲਈ ਲੋਡ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ。
- ਨੋਡ ਦੇ ਮਾਤਾ ਨੋਡ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰੋ
- ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ parentNode ਪ੍ਰਤੀਕ ਦੀ ਮਦਦ ਨਾਲ ਇੱਕ ਨੋਡ ਦੇ ਮਾਤਾ ਨੋਡ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨਾ ਹੈ。
- ਨੋਡ ਦੇ ਪਹਿਲੇ ਬੱਚੇ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰੋ
- ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ firstChild() ਮੱਥਦ ਅਤੇ ਇੱਕ ਸਵਯੰਗਤ ਫੰਕਸ਼ਨ ਦੀ ਮਦਦ ਨਾਲ ਇੱਕ ਨੋਡ ਦੇ ਪਹਿਲੇ ਬੱਚੇ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨਾ ਹੈ。
DOM ਨੋਡ ਨਿਰਦੇਸ਼ਨ
ਨੋਡ ਦਰਮਿਆਨ ਸਬੰਧਾਂ ਰਾਹੀਂ ਨੋਡ ਟ੍ਰੀ ਵਿੱਚ ਨੋਡ ਪਹੁੰਚਣਾ ਜਾਂ ਲੋਕਾਂ ਵਿੱਚ ਨੋਡ ਨਿਰਦੇਸ਼ਨ ("navigating nodes") ਕਿਹਾ ਜਾਂਦਾ ਹੈ。
XML DOM ਵਿੱਚ ਨੋਡ ਦਰਮਿਆਨ ਸਬੰਧ ਨੂੰ ਨੋਡ ਦੀ ਪ੍ਰਤੀਕ ਵਜੋਂ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ:
- parentNode
- childNodes
- firstChild
- lastChild
- nextSibling
- previousSibling
ਹੇਠ ਦਿਖਾਈ ਚਿੱਤਰ ਇਹ ਦਿਸਾਉਂਦਾ ਹੈ books.xml ਨੋਡ ਟ੍ਰੀ ਦਾ ਇੱਕ ਹਿੱਸਾ ਹੈ ਅਤੇ ਨੋਡ ਦਰਮਿਆਨ ਸਬੰਧਾਂ ਦੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ:

DOM - ਮਾਤਾ ਨੋਡ
ਸਾਰੇ ਨੋਡ ਕੇਵਲ ਇੱਕ ਮਾਤਾ ਨੋਡ ਰੱਖਦੇ ਹਨ। ਹੇਠ ਲਿਖੇ ਕੋਡ <book> ਦੇ ਮਾਤਾ ਨੋਡ ਨੂੰ ਲੱਭਦਾ ਹੈ:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0]; document.write(x.parentNode.nodeName);
ਉਦਾਹਰਣ ਦੇਖੋ:
- ਇਸ ਦੇ ਮਾਧਿਅਮ ਨਾਲ loadXMLDoc() ਬਣਾਓ "books.xml" ਲੋਡ ਕਰੋ xmlDoc ਵਿੱਚ
- ਪਹਿਲੇ <book> ਐਲੀਮੈਂਟ ਪ੍ਰਾਪਤ ਕਰੋ
- x ਦੇ ਮਾਤਾ ਨੋਡ ਦਾ ਨੋਡ ਨਾਮ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੋ
ਖਾਲੀ ਟੈਕਸਟ ਨੋਡ ਤੋਂ ਬਚੋ
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 ਵਿੱਚ ਲੋਡ ਕਰੋ
- ਪਹਿਲੇ <book> ਉੱਤੇ get_firstChild ਕੰਮਕਾਜ ਵਰਤ ਕੇ ਬੱਚੇ ਦੇ ਪਹਿਲੇ ਬੱਚੇ ਨੂੰ ਲੈਣਾ
- ਪਹਿਲੇ ਬੱਚੇ ਦਾ ਨੋਡ ਨਾਮ ਬਾਹਰ ਕਰੋ (ਜੋ ਇਲੈਕਟ੍ਰੌਨ ਨੋਡ ਹੈ)
ਉਦਾਹਰਣ
ਹੇਠ ਦੇ ਉਦਾਹਰਣ ਵਿੱਚ ਵਰਗਤੀ ਕੰਮਕਾਜ ਵਰਤਿਆ ਗਿਆ ਹੈ:
- ਪਿਛਲਾ ਪੰਨਾ DOM ਬਰਾਉਜ਼ਰ
- ਅਗਲਾ ਪੰਨਾ DOM ਨੂੰ ਨੋਡ ਲੈਣਾ