ఎక్సిఎమ్ఎల్ DOM నోడ్స్ ప్రాప్యత పొందండి
DOM ద్వారా, మీరు XML డాక్యుమెంట్ లోని ప్రతి నోడును అనుసంధానం చేయవచ్చు.
నోడు అనుసంధానం చేయడం
నోడు అనుసంధానం చేయడం మూడు విధాలు ఉన్నాయి:
- getElementsByTagName() పద్ధతిని ఉపయోగించడం ద్వారా
- నోడు ట్రీని ప్రయాణించడం ద్వారా చూపుచేస్తారు
- నోడు సంబంధాలను ఉపయోగించి నోడు ట్రీలో ప్రయాణించడం
getElementsByTagName() పద్ధతి
getElementsByTagName()
ప్రత్యేక టాగ్ పేరు కలిగిన అన్ని ఎలంజంట్స్ తీసుకోవడం
విధానం
node.getElementsByTagName("tagname");
ఉదాహరణ
ఈ ఉదాహరణలో x ఎలంజంట్ పరిధిలోని అన్ని <title> ఎలంజంట్స్ తీసుకోవడం జరుగుతుంది:
x.getElementsByTagName("title");
దానికి ముందు, మీరు మొత్తం XML డాక్యుమెంట్ లోని అన్ని <title> ఎలంజంట్స్ తీసుకోవాలంటే ఈ విధంగా ఉపయోగించండి:
xmlDoc.getElementsByTagName("title");
ఇక్కడ ముఖ్యంగా మీరు విలాసం చేసుకోవచ్చు:xmlDoc
ఇక్కడ ముఖ్యంగా డాక్యుమెంట్ స్వయం విలాసం (డాక్యుమెంట్ నోడ్).
DOM నోడు జాబితా
getElementsByTagName()
方法返回节点列表(node list)。节点列表是节点的数组。
మాథ్యుడ్ మెథడ్ ద్వారా నోడ్ జాబితా పొందడానికి ఉపయోగించబడుతుంది. నోడ్ జాబితా నోడ్స్ యొక్క ఏకరూప జాబితాను అందిస్తుంది.
x = xmlDoc.getElementsByTagName("title");
మీరు x లో మూడవ <title> ఎలమెంట్ ను పొందడానికి అందుబాటులో ఉంటుంది. మూడవ <title> ను పొందడానికి ఈ పద్ధతిని ఉపయోగించవచ్చు:
y = x[2];కామెంట్:
సంఖ్య నిర్వహణ నుండి ప్రారంభమవుతుంది.
length
DOM నోడ్ జాబితా పొడవు
మీరు నోడ్ జాబితా పొడవును (నోడ్స్ సంఖ్య) అటీరబ్లు ని వాడవచ్చు. length
అటీరబ్లు ను ఉపయోగించి నోడ్ జాబితాను చుట్టూ చూపుతుంది:
ఉదాహరణ
var x = xmlDoc.getElementsByTagName("title"); for (i = 0; i <x.length; i++) { // ప్రతి నోడ్ నిర్వహణ కోడ్ ను ఇక్కడ వ్రాయండి }
నోడ్ రకం
XML డాక్యుమెంట్ యొక్క documentElement
అటీరబ్లు రూట్ నోడ్ ఉంటాయి.
నోడ్ యొక్క nodeName
అటీరబ్లు నోడ్ పేరు ఉంటాయి.
నోడ్ యొక్క nodeType
అటీరబ్లు నోడ్ రకం ఉంటాయి.
మీరు తదుపరి అధ్యాయంలో నోడ్ అటీరబ్లు గురించి మరింత తెలుసుకోగలరు.
నోడ్ చుట్టూ చూపు
ఈ కోడ్ రూట్ నోడ్ కన్సెక్షన్స్ ని చుట్టూ చూపుతుంది (కూడా ఎలమెంట్ నోడ్స్ అవుతాయి):
ఉదాహరణ
txt = ""; x = xmlDoc.documentElement.childNodes; for (i = 0; i <x.length; i++) { // మాత్రమే ఎలమెంట్ నోడ్స్ (రకం 1) నిర్వహించండి if (x[i].nodeType == 1) { txt += x[i].nodeName + "<br>"; } }
ఉదాహరణ వివరణలు:
- మీరు " ను జతచేసిన అనుమానిస్తున్నాము:books.xml" లోకి లోడ్ చేయండి
xmlDoc
- రూట్ ఎలమెంట్ (xmlDoc) కన్సెక్షన్స్ పొందండి
- 检查每个子节点的节点类型。如果节点类型为“
1
" అని ఉంటే, ఎలమెంట్ నోడ్ ఉంది - ఎలమెంట్ నోడ్ అయితే, నోడ్ పేరును అవుట్పుట్ చేయండి
నోడ్ సంబంధాలు పరిభ్రమణ
ఈ కోడ్ నోడ్ సంబంధాలను ఉపయోగించి నోడ్ ట్రీలో పరిభ్రమణను చేస్తుంది:
ఉదాహరణ
x = xmlDoc.getElementsByTagName("book")[0]; xlen = x.childNodes.length; y = x.firstChild; txt = ""; for (i = 0; i <xlen; i++) { // మాత్రమే ఎలమెంట్ నోడ్స్ (రకం 1) నిర్వహించండి if (y.nodeType == 1) { txt += y.nodeName + "<br>"; } y = y.nextSibling; }
ఉదాహరణ వివరణలు:
- మీరు " ను జతచేసిన అనుమానిస్తున్నాము:books.xml" లోకి లోడ్ చేయండి
xmlDoc
- ప్రథమ బుక్ ఎలమెంట్ కన్సెక్షన్స్ పొందండి
- 将“y”变量设置为第一个book元素的第一个子节点
- 对于每个子节点(从第一个子节点“
y
”开始): - 检查每个子节点的节点类型。如果节点类型为“
1
”,则它是元素节点 - 如果是元素节点,则输出该节点的名称
- 将“
y
“变量设置为下一个同级节点,并再次运行循环”