XML DOM ਨੋਡ ਲਿਸਟ
- ਪਿਛਲਾ ਪੰਨਾ DOM ਨੋਡ ਸੂਚਨਾ
- ਅਗਲਾ ਪੰਨਾ DOM ਨੋਡ ਸਰਚ
getElementsByTagName() ਮੈਥਡ ਅਤੇ childNodes ਵਿਸ਼ੇਸ਼ ਪ੍ਰਤੀਏਕਸ਼ਨ ਨਾਲ ਵਾਪਸ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ
ਉਦਾਹਰਣ
ਹੇਠ ਦਿੱਤੇ ਉਦਾਹਰਣ ਵਿੱਚ XML ਫਾਈਲ ਦਾ ਉਪਯੋਗ ਕੀਤਾ ਗਿਆ ਹੈ books.xml.
ਫੰਕਸ਼ਨ loadXMLDoc()ਬਾਹਰੀ ਜਾਵਾਸਕ੍ਰਿਪਟ ਵਿੱਚ ਲਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ
- ਪਹਿਲੇ <title> ਐਕਸਪੈਕਟ ਦੇ ਵਿਸ਼ੇਸ਼ ਪ੍ਰਤੀਏਕਸ਼ਨ ਨੂੰ ਲੈਣਾ
- "books.xml" ਵਿੱਚ ਪਹਿਲੇ <title> ਐਕਸਪੈਕਟ ਦੇ ਵਿਸ਼ੇਸ਼ ਪ੍ਰਤੀਏਕਸ਼ਨ ਨੂੰ ਲਿਆ ਜਾਂਦਾ ਹੈ
- ਵਿਸ਼ੇਸ਼ ਪ੍ਰਤੀਏਕਸ਼ਨ ਨੂੰ ਚੱਕਰ ਕਰਨ ਲਈ length ਵਿਸ਼ੇਸ਼ ਪ੍ਰਤੀਏਕਸ਼ਨ ਦੀ ਮਦਦ ਨਾਲ
- ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ "books.xml" ਵਿੱਚ ਸਾਰੇ <title> ਐਕਸਪੈਕਟ ਨੂੰ ਲਿਸਟ ਅਤੇ length ਵਿਸ਼ੇਸ਼ ਪ੍ਰਤੀਏਕਸ਼ਨ ਦੀ ਮਦਦ ਨਾਲ ਚੱਕਰ ਕਰਨਾ
- ਐਕਸਪੈਕਟ ਦੇ ਵਿਸ਼ੇਸ਼ ਪ੍ਰਤੀਏਕਸ਼ਨ ਨੂੰ ਲੈਣਾ
- ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ "books.xml" ਵਿੱਚ ਪਹਿਲੇ <title> ਐਕਸਪੈਕਟ ਦੇ ਵਿਸ਼ੇਸ਼ ਪ੍ਰਤੀਏਕਸ਼ਨ ਨੂੰ ਲਿਆ ਜਾਂਦਾ ਹੈ
DOM ਨੋਡ ਲਿਸਟ
childNodes ਜਾਂ getElementsByTagName() ਮੈਥਡ ਜਿਹੇ ਵਿਸ਼ੇਸ਼ ਸਵੈਯੰਤਰ ਵਿਸ਼ੇਸ਼ ਪ੍ਰਤੀਏਕਸ਼ਨ ਨੂੰ ਵਾਪਸ ਦਿੰਦੇ ਹਨ
ਨੋਡ ਲਿਸਟ ਪ੍ਰਤੀਏਕਸ਼ਨ ਐਕਸਟਰੈਕਟ ਕਰਨ ਲਈ ਉਪਯੋਗ ਕਰੋ
ਇਹ ਟੈਕਸਟ ਪਾਠ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ
ਹੇਠਲੇ ਚਿੱਤਰ "" ਦਰਸਾਉਂਦਾ ਹੈ:books.xml" ਵਿੱਚ <title> ਐਲੀਮੈਂਟ ਦੀ ਨੋਡ ਸੂਚੀ:

ਹੇਠ ਲਿਖੇ ਕੋਡ ਸ਼ੈਕਟ ਵਰਤੋਂ ਕਰਕੇ loadXMLDoc() " ਵਿੱਚ "books.xml" ਨੂੰ xmlDoc ਵਿੱਚ ਲੋਡ ਕਰੋ, ਅਤੇ "books.xml" ਵਿੱਚ title ਐਲੀਮੈਂਟ ਦੀ ਇੱਕ ਨੋਡ ਸੂਚੀ:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title");
ਉੱਪਰੋਕਤ ਵਾਕ ਚਲਾਉਣ ਤੋਂ ਬਾਅਦ, x ਇੱਕ NodeList ਪ੍ਰਤੀਯੋਗੀ ਬਣ ਜਾਵੇਗਾ。
ਹੇਠਲੇ ਕੋਡ ਫਰੈਗਮੈਂਟ ਨੋਡ ਸੂਚੀ x ਵਿੱਚ ਪਹਿਲੇ <title> ਐਲੀਮੈਂਟ ਤੋਂ ਟੈਕਸਟ ਨੂੰ ਵਾਪਸ ਦੇਣਾ ਹੈ:
txt=x[0].childNodes[0].nodeValue;
ਉੱਪਰੋਕਤ ਵਾਕ ਚਲਾਉਣ ਤੋਂ ਬਾਅਦ, txt = "Everyday Italian" ਹੋ ਜਾਵੇਗਾ。
Node List Length
NodeList ਪ੍ਰਤੀਯੋਗੀ ਆਪਣੀ ਅੱਪਡੇਟ ਰੱਖਦੀ ਹੈ। ਜੇਕਰ ਇਲਾਕੇ ਹਟਾਏ ਜਾਂ ਜੋੜੇ ਜਾਣ ਤਾਂ ਸੂਚੀ ਆਪਣੇ ਆਪ ਜਾਂਚ ਕਰੇਗੀ。
ਨੋਡ ਸੂਚੀ ਦੀ length ਪ੍ਰਤੀਯੋਗੀ ਸੂਚੀ ਵਿੱਚ ਨੋਡਾਂ ਦੀ ਗਿਣਤੀ ਹੁੰਦੀ ਹੈ。
ਹੇਠ ਲਿਖੇ ਕੋਡ ਸ਼ੈਕਟ ਵਰਤੋਂ ਕਰਕੇ loadXMLDoc() "books.xml" xmlDoc ਲੋਡ ਕਰੋ, ਅਤੇ "books.xml" ਵਿੱਚ <title> ਐਲੀਮੈਂਟਾਂ ਦੀ ਗਿਣਤੀ ਨੂੰ ਵਾਪਸ ਦੇਣਾ ਹੈ:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('title').length;
ਉੱਪਰੋਕਤ ਵਾਕ ਚਲਾਉਣ ਤੋਂ ਬਾਅਦ, x = 4 ਹੋ ਜਾਵੇਗਾ。
ਨੋਡ ਸੂਚੀ ਦੀ ਲੰਮਾਈ ਵਰਤੋਂ ਕਰਕੇ ਸਰਕਾਰੀ ਸੂਚੀ ਵਿੱਚ ਸਾਰੇ ਐਲੀਮੈਂਟਾਂ ਦਾ ਚੱਕਰ ਲਗਾਇਆ ਜਾ ਸਕਦਾ ਹੈ。
ਹੇਠਲੇ ਕੋਡ ਫਰੈਗਮੈਂਟ ਲੰਮਾਈ ਪ੍ਰਤੀਯੋਗੀ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ <title> ਐਲੀਮੈਂਟਾਂ ਦੀ ਸੂਚੀ ਦਾ ਚੱਕਰ ਲਗਾਉਣਾ ਹੈ:
xmlDoc=loadXMLDoc("books.xml"); //the x variable will hold a node list x=xmlDoc.getElementsByTagName('title'); for (i=0;i<x.length;i++) { document.write(x[i].childNodes[0].nodeValue); document.write("<br />"); }
ਆਉਟਪੁਟ:
Harry Potter Everyday Italian XQuery Kick Start Learning XML
ਉਦਾਹਰਣ ਸਪਸ਼ਟੀਕਰਣ:
- ਵਰਤੋਂ ਕਰਕੇ loadXMLDoc() "books.xml" xmlDoc ਲੋਡ ਕਰੋ
- ਸਾਰੇ title ਐਲੀਮੈਂਟਾਂ ਦੀ ਨੋਡ ਸੂਚੀ ਦੇ x ਮੁੱਲ ਨੂੰ ਸੈਟ ਕਰੋ
- ਸਾਰੇ <title> ਐਲੀਮੈਂਟਾਂ ਦੇ ਟੈਕਸਟ ਨੋਡ ਦੇ ਮੁੱਲ ਨੂੰ ਬਾਹਰ ਕੱਢੋ
DOM ਅਟਰੀਬਿਊਟ ਲਿਸਟ (ਨੇਮਡ ਨੋਡ ਮੈਪ)
ਐਲੀਮੈਂਟ ਨੋਡ ਦੇ attributes ਪ੍ਰਤੀਯੋਗੀ ਪ੍ਰਤੀਯੋਗੀ ਨੋਡ ਦੀ ਸੂਚੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ。
ਇਹ ਨੇਮਡ ਨੋਡ ਮੈਪ ਕਿਹਾ ਜਾਂਦਾ ਹੈ, ਨੋਡ ਸੂਚੀ ਨਾਲ ਕੁਝ ਅੰਤਰਾਂ ਦੇ ਇਲਾਵਾ, ਇਹ ਮੈਥਡ ਅਤੇ ਪ੍ਰਤੀਯੋਗੀਆਂ 'ਤੇ ਕੁਝ ਅੰਤਰ ਰੱਖਦਾ ਹੈ।
ਪ੍ਰਤੀਯੋਗੀ ਸੂਚੀ ਆਪਣੀ ਅੱਪਡੇਟ ਰੱਖਦੀ ਹੈ। ਜੇਕਰ ਪ੍ਰਤੀਯੋਗੀ ਹਟਾਇਆ ਜਾਂ ਜੋੜਿਆ ਜਾਵੇ ਤਾਂ ਇਹ ਸੂਚੀ ਆਪਣੇ ਆਪ ਜਾਂਚ ਕਰੇਗੀ।
ਹੇਠ ਲਿਖੇ ਕੋਡ ਸ਼ੈਕਟ ਵਰਤੋਂ ਕਰਕੇ loadXMLDoc() "books.xml" ਨੂੰ xmlDoc ਵਿੱਚ ਲੋਡ ਕਰੋ, ਅਤੇ ਤੋਂ "books.xml" ਵਿੱਚ ਪਹਿਲੇ <book> ਐਲੀਮੈਂਟ ਦੇ ਪ੍ਰਾਪਰਟੀ ਨੋਡ ਦੀ ਸੂਚੀ ਵਿੱਚ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਦਾ ਹੈ:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book')[0].attributes;
ਇਸ ਕੋਡ ਦੇ ਚਲਾਉਣ ਦੇ ਬਾਅਦ, x.length ਪ੍ਰਾਪਰਟੀਆਂ ਦੀ ਸੰਖਿਆ ਨੂੰ ਬਰਾਬਰ ਹੈ, ਜਿਸ ਨੂੰ x.getNamedItem() ਰਾਹੀਂ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ。
ਹੇਠ ਲਿਖੇ ਕੋਡ ਸ਼ੈਕਟ ਇੱਕ book ਦੀ "category" ਪ੍ਰਾਪਰਟੀ ਦਾ ਮੁੱਲ ਅਤੇ ਉਸ ਦੀ ਪ੍ਰਾਪਰਟੀਆਂ ਦੀ ਸੰਖਿਆ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਦਾ ਹੈ:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0].attributes; document.write(x.getNamedItem("category").nodeValue); document.write("<br />" + x.length);
ਆਉਟਪੁਟ:
children 1
ਉਦਾਹਰਣ ਸਪਸ਼ਟੀਕਰਣ:
- ਵਰਤੋਂ ਕਰਕੇ loadXMLDoc() "books.xml" ਵਿੱਚ xmlDoc ਵਿੱਚ ਲੋਡ ਕਰੋ
- x ਨੂੰ ਪਹਿਲੇ <book> ਐਲੀਮੈਂਟ ਦੇ ਸਾਰੇ ਪ੍ਰਾਪਰਟੀਆਂ ਦੀ ਸੂਚੀ ਵਿੱਚ ਸੈੱਟ ਕਰੋ
- "category" ਪ੍ਰਾਪਰਟੀ ਦਾ ਮੁੱਲ ਬਾਹਰ ਕਰੋ
- ਆਉਟਪੁਟ ਲੰਬਾਈ ਦੀ ਪ੍ਰਾਪਤੀ
- ਪਿਛਲਾ ਪੰਨਾ DOM ਨੋਡ ਸੂਚਨਾ
- ਅਗਲਾ ਪੰਨਾ DOM ਨੋਡ ਸਰਚ