دسترسی به نواحی XML DOM
- صفحه قبلی گره DOM
- صفحه بعدی اطلاعات گره DOM
با استفاده از DOM، شما میتوانید به هر نود در مستند XML دسترسی پیدا کنید.
دسترسی به نودها
شما میتوانید از سه روش برای دسترسی به نودها استفاده کنید:
- با استفاده از روش getElementsByTagName()
- با استفاده از دوری از درخت نودها (دورزدن)
- با استفاده از ارتباطات نودها در درخت نودها هدایت میشود
روش getElementsByTagName()
getElementsByTagName()
تمام عناصر دارای نام برچسب مشخص شده را بازمیگرداند.
زبان
node.getElementsByTagName("tagname");
مثال
در مثال زیر، همه عناصر <title> زیر x بازمیگردانده میشوند:
x.getElementsByTagName("title");
لطفاً توجه داشته باشید که مثال بالا تنها عناصر <title> زیر x را بازمیگرداند. برای بازگرداندن همه عناصر <title> در مستند XML، از: استفاده کنید
xmlDoc.getElementsByTagName("title");
در اینجا،xmlDoc
همین مستند خود است (نود مستند).
لیست نودهای DOM
getElementsByTagName()
این روش لیست گرهها (لیست گره) را برمیگرداند. لیست گره یک آرایه از گرهها است.
x = xmlDoc.getElementsByTagName("title");
میتوانید از شمارهی نشانهگذاری به x دسترسی پیدا کنید. اگر بخواهید به سومین <title> دسترسی پیدا کنید، میتوانید به این صورت بنویسید:
y = x[2];
توضیح:شمارا از 0 شروع میشود.
طول لیست گرههای DOM
length
ویژگی برای تعریف طول لیست گرهها (تعداد گرهها) استفاده کنید.
شما میتوانید از length
ویژگی برای چرخش لیست گرهها استفاده میشود:
مثال
var x = xmlDoc.getElementsByTagName("title"); for (i = 0; i < x.length; i++) { // میتوانید کد پردازش هر گره را در اینجا بنویسید }
نوع گره
گرههای 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
- دسترسی به فرزندان گره اولین element
- مقدار متغیر "y" تنظیم میشود به اولین گره فرزند element اولین book
- برای هر گره فرزند (از اولین گره فرزند "
y
" آغاز شود): - هر گره فرزند را بررسی میکند. اگر نوع گره باشد "
1
"، آن یک گره عنصر است - اگر گره نوع عنصر باشد، نام آن گره را چاپ میکند
- مقدار "
y
مقدار متغیر "y" تنظیم میشود به گره همتا بعدی و دوباره چرخه اجرا میشود
- صفحه قبلی گره DOM
- صفحه بعدی اطلاعات گره DOM