XML DOM నోడు నిర్దేశన

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

ఉదాహరణ

క్రింది ఉదాహరణలో XML ఫైల్ ఉపయోగించబడింది books.xml

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

నోడు యొక్క మూల నోడు పొందండి
ఈ ఉదాహరణలో మేము parentNode అట్టి అంశాన్ని ఉపయోగించి నోడ్ యొక్క ప్రాతిపదికన పొందడానికి ప్రయత్నిస్తాము.
నోడ్ యొక్క ప్రథమ సబ్ నోడ్ ను పొందండి
ఈ ఉదాహరణలో మేము firstChild() మరియు ఒక స్వంత ఫంక్షన్ ను ఉపయోగించి ఒక నోడ్ యొక్క ప్రథమ సబ్ నోడ్ ను పొందడానికి ప్రయత్నిస్తాము.

నావిగేటింగ్ DOM నోడ్లు

నోడ్ సంబంధాల ద్వారా నోడ్ ట్రీలో నోడ్లను పొందడానికి సాధారణంగా నావిగేటింగ్ నోడ్స్ ('navigating nodes') అని పిలుస్తారు.

XML DOM లో, నోడ్ల సంబంధాలు నోడ్ అంశాల ద్వారా నిర్వచించబడతాయి:

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

ఈ చిత్రం ఈ క్రింది ను చూపిస్తుంది: books.xml నోడ్ ట్రీలో ఒక భాగం, మరియు నోడ్ల మధ్య సంబంధాలను వివరించండి:

DOM నోడు ట్రీ

DOM - ప్రాతిపదిక

అన్ని నోడ్లు ఒక మాత్రమే ప్రాతిపదికన ఉన్నాయి. ఈ కోడు <book> యొక్క ప్రాతిపదికన స్థానాన్ని గుర్తించండి:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0];
document.write(x.parentNode.nodeName);

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

  • ఉపయోగించి ద్వారా loadXMLDoc() బిగించండి "books.xml" లో లోడ్ చేయండి xmlDoc లో
  • ప్రథమ <book> ఎలమెంట్ ను పొందండి
  • x యొక్క ప్రాతిపదికన పేరును ప్రస్తుతించండి

TIY

ఖాళీ టెక్స్ట్ నోడ్లను నివారించండి

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> పై గెట్ ఫస్ట్ చిల్డ్ ఫంక్షన్ ను ఉపయోగించి ఎలమెంట్ నోడ్ లోని మొదటి కుమార నోడ్ ను పొందండి
  • మొదటి కుమార నోడ్ (ఎలమెంట్ నోడ్) యొక్క నోడ్ పేరును ఉపసంహరించండి

TIY

ఉదాహరణ

ఈ ఉదాహరణలో సమానమైన ఫంక్షన్స్ ఉపయోగించబడతాయి:

  • firstChild: TIY
  • lastChild: TIY
  • nextSibling: TIY
  • previousSibling: TIY