XML DOM নোড প্রবেশ
পাঠ্যপুস্তক উপস্থাপনা:
DOM দ্বারা, আপনি XML ডকুমেন্টের প্রত্যেক নোড পরিদর্শন করতে পারেন
নোড প্রবেশ করা
- getElementsByTagName() পদ্ধতি ব্যবহার করে
- নোড ট্রি-তে ব্লিকবার পার্শ্ববর্তী নোডগুলি সারাসারি সম্পর্কে বার করা
- নোড মূলক সম্পর্ক ব্যবহার করে নোড ট্রি-তে নেভিগেশন করা
getElementsByTagName() পদ্ধতি
getElementsByTagName()
বিন্যাস সহজকর করার জন্য
ভাষা
node.getElementsByTagName("tagname");
উদাহরণ
নিচের উদাহরণটি x ইলেকট্রনের অধীনস্থ সব জায়গার <title> ইলেকট্রন ফিরিয়ে দেয়:
x.getElementsByTagName("title");
মনজুর করুন, উপরের উদাহরণটি শুধুমাত্র x নোডের <title> ইলেকট্রন
xmlDoc.getElementsByTagName("title");
এখানে,xmlDoc
এখানে, ডকুমেন্টটি নিজেই (ডকুমেন্ট নোড)।
DOM নোড তালিকা
getElementsByTagName()
এটি নোড তালিকা (নোড লিস্ট) ফিরাস, নোড এক্সেস করতে ব্যবহার করা হয়।
এটি নোড তালিকা (নোড লিস্ট) পুনরায় ফিরাস
x = xmlDoc.getElementsByTagName("title");
y = x[2];
মন্তব্য:সূচক 0 থেকে শুরু করে
DOM নোড তালিকার দৈর্ঘ্য
length
এটি নোড তালিকার দৈর্ঘ্য (নোড সংখ্যা) নির্দিষ্ট করে
আপনি 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
" 变量设置为下一个同级节点,并再次运行循环