آموزش DOM-XML پیشرفته
DOM - پیشرفتهی XML
در چند فصل قبل این آموزش ما DOM در XML را شرح دادید. و از متد ()getElementsByTagName برای بازیابی اطلاعات از یک سند XML استفاده کردیم.
در این فصل ما برخی از متدهای مهم دیگر XML DOM را توضیح میدهیم.
برای یاد گیری بیشتر XML DOM به این آموزش مراجعه کنید.
گرفتن مقدار یک عنصر
فایل XML استفاده شده در مثال زیر: books.xml.
مثال زیر متنی را که در اولین عنصر <title> است را بازیابی میکند:
گرفتن مقدار یک صفت
مثال زیر مقدار صفت "lang" از اولین عنصر <title> را بازیابی میکند:
تغییر مقدار یک عنصر
مثال زیر نوشتهی درون اولین عنصر <title> را تغییر میدهد:
Example
x.nodeValue="Easy Cooking";
Try it yourself »
ساخت یک صفت جدید
در XML DOM متد ()setAttribute میتواند برای تغییر مقدار یک صفت یا ساخت یک صفت جدید استفاده شود.
مثال زیر یک صفت جدید(edition="first") را به هر عنصر<book> اضافه میکند:
Example
for(i=0;i<x.length;i++)
{
x[i].setAttribute("edition","first");
}
Try it yourself »
ساخت یک عنصر
در XML DOM متد()createElement یک عنصر جدید میسازد.
در XML DOM متد()createTextNode یک متن جدید میسازد.
در XML DOM متد ()appendChild یک فرزند به عنصر اضافه میکند(بعد از آخرین فرزند).
برای ساخت یک عنصر جدید دارای متن، لازم است که هم عنصر جدید و هم متن جدید ساخته شود، و بعد از آن به عناصر موجود اضافه شود.
مثال زیر یک عنصر جدید (<edition>) میسازد، با متن "First"، و آن را به اولین عنصر <book> اضافه میکند:
Example
newtext=xmlDoc.createTextNode("First");
newel.appendChild(newtext);
x=xmlDoc.getElementsByTagName("book");
x[0].appendChild(newel);
Try it yourself »
توضیحات مثال:
- ساخت یک عنصر به نام <edition>
- ساخت یک متن جدید با مقدار "First"
- اضافه کردن متن به عنصر جدید <edition>
- اضافه کردن عنصر <edition> به اولین عنصر <book>
حذف یک عنصر
مثال زیر اولین بند از اولین عنصر <book> را حذف میکند:
توجه: نتیجه مثال بالا بسته به مرورگر شما میتواند متفاوت باشد. Firefox خط جدید را به عنوان متن خالی در نظر میگیرد,اما Internet Explorer اینطور نیست. در این مورد و همچنین جلوگیری از آن میتوانید در آموزش XML DOM بیشتر بخوانید.
- نوشته شده توسط میلاد نظری
- بازدید: 6899
دیدگاهها
سلام فرق بین serAttribute و getAttribute چیست؟؟؟؟
سلام
از setAttribute برای اضافه کردن یک خصوصیت به یک عنصر استفاده می شود.
اما از getAttribute برای به دست آوردن مقدار یک خصوصیت از یک عنصر استفاده می شود.
برای اطلاعات بیشتر به لینک های زیر مراجعه کنید:
www.beyamooz.com/jsref/3124-%D9%85%D8%AA%D8%AF-element-setattribute
www.beyamooz.com/jsref/3081-%D9%85%D8%AA%D8%AF-element-getattribute
بعد گاهی وقت ها عین کد زیر
document.getEle mentsByTagName( "INPUT")[0].set Attribute("type ", "button");
یه عددی دررون [ ] هستنش اون عدد چی کاری می کنه ایا نوشتنش لزوم داره ؟؟؟؟
بله نوشتن اون لازمه!
برای فهمیدن کاربرد این عدد به همین کدی که خودتان نوشته اید توجه کنید:
document.getElementsByTagName( "INPUT")[0]
فرض کنید در سند مان مثلا 5 تا عنصر INPUT داریم. حالا اگر بخواهید به رایانه بفهمانید که منظور ما عنصر اول است ، باید از یک براکت استفاده کنید و اندیس اون عنصر رو بنویسید. مثلا اندیس 0 یعنی عنصر اول و اندیس 1 یعنی عنصر دوم و ... الی آخر..