سبد (0)

آموزش DOM-XML پیشرفته

 DOM - پیشرفته‌ی XML

در چند فصل قبل این آموزش ما DOM در XML را شرح دادید. و از متد ()getElementsByTagName برای بازیابی اطلاعات از یک سند XML استفاده کردیم.

در این فصل ما برخی از متد‌های مهم دیگر XML DOM را توضیح می‌دهیم.

برای یاد گیری بیشتر XML DOM به این آموزش مراجعه کنید.


گرفتن مقدار یک عنصر

فایل XML استفاده شده در مثال زیر: books.xml.

مثال زیر متنی را که در اولین عنصر <title> است را بازیابی می‌کند:

Example

txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;

Try it yourself »

گرفتن مقدار یک صفت

مثال زیر مقدار صفت "lang" از اولین عنصر <title> را بازیابی می‌کند:

Example

txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

Try it yourself »

تغییر مقدار یک عنصر

مثال زیر نوشته‌ی درون اولین عنصر <title> را تغییر می‌دهد:

Example

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";

Try it yourself »

ساخت یک صفت جدید

در XML DOM متد ()setAttribute می‌تواند برای تغییر مقدار یک صفت یا ساخت یک صفت جدید استفاده شود.

مثال زیر یک صفت جدید(edition="first") را به هر عنصر<book> اضافه می‌کند:

Example

x=xmlDoc.getElementsByTagName("book");

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

newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("First");
newel.appendChild(newtext);

x=xmlDoc.getElementsByTagName("book");
x[0].appendChild(newel);

Try it yourself »

توضیحات مثال:

  • ساخت یک عنصر به نام <edition> 
  • ساخت یک متن جدید با مقدار "First"
  • اضافه کردن متن به عنصر جدید <edition>
  • اضافه کردن عنصر <edition> به اولین عنصر <book>

حذف یک عنصر

مثال زیر اولین بند از اولین عنصر <book> را حذف می‌کند:

Example

x=xmlDoc.getElementsByTagName("book")[0];
x.removeChild(x.childNodes[0]);

Try it yourself »

توجه: نتیجه مثال بالا بسته به مرورگر شما می‌تواند متفاوت باشد. Firefox خط جدید را به عنوان متن خالی در نظر می‌گیرد,اما Internet Explorer اینطور نیست. در این مورد و همچنین جلوگیری از آن میتوانید در آموزش XML DOM  بیشتر بخوانید.

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه