ఎక్స్ఎమ్ఎల్ డామ్ నోడ్ యాక్సెస్

DOM ద్వారా, మీరు XML డాక్యుమెంట్లోని ప్రతి నోడ్ను ప్రాప్తించవచ్చు。

ఉదాహరణ

ఈ ఉదాహరణలో, మేము XML ఫైల్ను ఉపయోగిస్తున్నాము books.xml.

ఫంక్షన్ loadXMLDoc()బాహ్య జావాస్క్రిప్ట్లో ఉన్నది, ఇది XML ఫైల్ను లోడ్ చేయడానికి ఉపయోగిస్తుంది。

నోడ్ లిస్ట్ లోని క్రమ సంఖ్యను ఉపయోగించడం ద్వారా నోడ్లను ప్రాప్తించడం
ఈ ఉదాహరణలో, మేము "books.xml" లోని మూడవ <title> ఎలిమెంట్ను పొందడానికి getElementsByTagname() మాధ్యమాన్ని ఉపయోగిస్తున్నాము。
నోడ్లను చుట్టూ చూపుతున్నాము ద్వారా length అంశం ఉపయోగించడం
ఈ ఉదాహరణలో, మేము "books.xml" లోని అన్ని <title> ఎలిమెంట్లను చుట్టూ చూపుతున్నాము ద్వారా length అంశాన్ని ఉపయోగిస్తున్నాము。
ఎలిమెంట్ నోడ్ రకాన్ని చూడండి
ఈ ఉదాహరణలో, మేము "books.xml" లోని రూట్ ఎలిమెంట్ నోడ్ రకాన్ని పొందడానికి nodeType అంశాన్ని ఉపయోగిస్తున్నాము。
ఎలిమెంట్ నోడ్లను చుట్టూ చూపుతున్నాము
ఈ ఉదాహరణలో, మేము "books.xml" లోని ఎలిమెంట్ నోడ్లను నిర్వహించడానికి nodeType అంశాన్ని ఉపయోగిస్తున్నాము。
నోడ్ సంబంధాలను ఉపయోగించడం ద్వారా ఎలిమెంట్ నోడ్లను చుట్టూ చూపుతున్నాము
ఈ ఉదాహరణలో, మేము "books.xml" లోని ఎలిమెంట్ నోడ్లను నిర్వహించడానికి nodeType అంశం మరియు nextSibling అంశాలను ఉపయోగిస్తున్నాము。

నోడ్ ప్రాప్తి

మీరు నోడ్లను ప్రాప్తించడానికి మూడు విధానాలు ఉన్నాయి:

  1. getElementsByTagName() మాధ్యమం ఉపయోగించడం ద్వారా
  2. నోడ్ ట్రీను చుట్టూ చూపుతూ ప్రయాణించడం
  3. నోడ్ సంబంధాలను ఉపయోగించడం ద్వారా నోడ్ ట్రీలో ప్రయాణించడం

getElementsByTagName() మాధ్యమం

getElementsByTagName() మాధ్యమం ప్రత్యేక టాగ్ పేరు కలిగిన అన్ని ఎలిమెంట్లను అందిస్తుంది。

శబ్దం

node.getElementsByTagName("tagname");

ఉదాహరణ

క్రింది ఉదాహరణ కేవలం x నూతనం కింది అన్ని <title> ఎలమెంట్ ను తిరిగి ఇస్తుంది:

x.getElementsByTagName("title");

గమనించండి, పైని ఉదాహరణ కేవలం x నూతనం కింది <title> ఎలమెంట్ ను తిరిగి ఇస్తుంది. పత్రంలోని అన్ని <title> ఎలమెంట్ ను తిరిగి ఇచ్చడానికి, ఉపయోగించండి:

xmlDoc.getElementsByTagName("title");

ఇక్కడ, xmlDoc అనేది పత్రం స్వయం (డాక్యుమెంట్ నూతనం).

DOM Node List

getElementsByTagName() పద్ధతి నూతనం జాబితాను తిరిగి ఇవ్వగా, నూతనం జాబితా నూతనాల జాబితా

క్రింది కోడ్ ద్వారా ఉపయోగించండి: loadXMLDoc() వాక్యం "books.xml" xmlDoc లో లోడ్ చేయండి మరియు నూతనం జాబితాలో పొందండి:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title");

x లో ఉన్న <title> ఎలమెంట్ ను క్రింది అంకురం ద్వారా పొందవచ్చు. మూడవ <title> ను పొందడానికి, మీరు రాయవచ్చు:

y=x[2];

TIY

ప్రత్యామ్నాయం పెట్టండి:అంకురం 0 నుండి ఉంటుంది.

ఈ పాఠ్యక్రమంలో తర్వాతి భాగాలలో, మీరు Node List పై మరింత తెలుసుకోవచ్చు.

DOM Node List Length

length లక్షణం నూతనం జాబితా పొడవును నిర్వచిస్తుంది (అనగా నూతనాల సంఖ్యను).

మీరు నూతనం జాబితాను చుట్టూ పరిక్రమించవచ్చు లేదా length లక్షణాన్ని ఉపయోగించండి:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title");
for (i=0;i<x.length;i++)
  { 
  document.write(x[i].childNodes[0].nodeValue);
  document.write("<br />");
  }

ఉదాహరణ వివరణం:

  1. ఉపయోగించండి loadXMLDoc() వాక్యం "books.xml" xmlDoc లో లోడ్ చేయండి
  2. అన్ని <title> ఎలమెంట్ నూతనాలను పొందండి
  3. ప్రతి <title> ఎలమెంట్ యొక్క టెక్స్ట్ నూతనం విలువను అవుట్పుట్ చేయండి

TIY

నూతనం రకం

XML పత్రం యొక్క documentElement లక్షణం రూట్ నూతనం

నూతనం యొక్క nodeName లక్షణం నూతనం పేరు

నూతనం యొక్క nodeType లక్షణం నూతనం రకం

మీరు ఈ పాఠ్యక్రమంలోని తదుపరి భాగంలో నూతనం లక్షణాలపై మరింత తెలుసుకోవచ్చు.

TIY

నూతనం పరిక్రమించండి

రూట్ నూతనం ఉపనూతనాలను పరిక్రమించే కోడ్ పెట్టండి:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement.childNodes;
for (i=0;i<x.length;i++)
{ 
  if (x[i].nodeType==1)
  {//Process only element nodes (type 1) 
  document.write(x[i].nodeName);
  document.write("<br />");
  } 
}

ఉదాహరణ వివరణం:

  1. ఉపయోగించడం ద్వారా loadXMLDoc() వాక్యం "books.xml" వాక్యం xmlDoc లో లోడ్ చేయండి
  2. రూట్ ఎలమెంట్ ఉపనూతనాలను పొందండి
  3. ప్రతి ఉపనూతనం నూతనం రకాన్ని పరిశీలించండి. నూతనం రకం "1" అయితే, అది ఎలమెంట్ నూతనం
  4. ఇంకా సాంకేతిక నోడ్ ఉంటే, నోడ్ పేరును అవుట్పుట్ చేయండి

TIY

నోడ్ సంబంధాలను ఉపయోగించి నోడ్ సముదాయంలో నడిపే కోడ్

నోడ్ సముదాయంలో నోడ్ సంబంధాలను ఉపయోగించి నోడ్ సముదాయంలో నడిపే కోడ్ ఇక్కడ ఉంది:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0].childNodes;
y=xmlDoc.getElementsByTagName("book")[0].firstChild;
for (i=0;i<x.length;i++)
{
if (y.nodeType==1)
  {//Process only element nodes (type 1)
  document.write(y.nodeName + "<br />");
  }
y=y.nextSibling;
}
  1. ఉపయోగించడం ద్వారా loadXMLDoc() వాక్యం "books.xml" వాక్యం xmlDoc లో లోడ్ చేయండి
  2. మొదటి book ఎలమెంట్ పిల్ల నోడ్ పొందండి
  3. వాక్యం "y" ను మొదటి book ఎలమెంట్ మొదటి పిల్ల నోడ్ గా సెట్ చేయండి
  4. ప్రతి పిల్ల నోడ్ నోడ్ రకాన్ని పరిశీలించండి, నోడ్ రకం "1" ఉంటే ఇంకా సాంకేతిక నోడ్
  5. ఇంకా సాంకేతిక నోడ్ ఉంటే, నోడ్ పేరును అవుట్పుట్ చేయండి
  6. వాక్యం "y" ను తదుపరి సమాన నోడ్ అయినది గా సెట్ చేయండి, మరియు మళ్ళీ లోపలికను నడిపించండి

TIY