ساخت گره ها (DOM Create Nodes)
این درس درباره «ساخت گره های DOM» است. «گره (Node)» هر بخش از XML است؛ مثل تگ، متن، یا نظر. «DOM (Document Object Model)» مدل شیءگرا از سند است. با چند متد ساده، گره های تازه می سازیم و به درخت اضافه می کنیم.
ساخت گره های DOM: ایجاد عنصر جدید
متد createElement() یک «عنصر (Element)» جدید می سازد. سپس با appendChild() آن را به یک تگ موجود وصل می کنیم. مثل اضافه کردن یک برچسب به دفتر مشق.
newElement = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newElement);
گام ها: 1) فایل books.xml در xmlDoc بار شده. 2) عنصر <edition> بساز. 3) آن را به اولین <book> بچسبان.
افزودن به همه کتاب ها
می توانی در یک حلقه، این عنصر را به همه <book> ها اضافه کنی. نمونه آماده را در ادیتور ببین.
ساخت ویژگی جدید با createAttribute()
«ویژگی (Attribute)» مثل برچسب اضافه برای یک عنصر است. با createAttribute() یک ویژگی تازه می سازیم و مقدارش را می گذاریم.
newAtt = xmlDoc.createAttribute("edition");
newAtt.nodeValue = "first";
xmlDoc.getElementsByTagName("title")[0].setAttributeNode(newAtt);
نکته: اگر ویژگی از قبل باشد، با مقدار جدید جایگزین می شود.
ساخت ویژگی با setAttribute()
متد setAttribute() اگر ویژگی وجود نداشته باشد، آن را می سازد. پس برای ساخت هم کاربردی است.
xmlDoc.getElementsByTagName('book')[0].setAttribute("edition", "first");
ساخت گره متن با createTextNode()
«گره متن (Text Node)» خود نوشته هاست. اول عنصر بساز، بعد متن را بساز و به آن اضافه کن. سپس عنصر را به کتاب بچسبان.
newEle = xmlDoc.createElement("edition");
newText = xmlDoc.createTextNode("first");
newEle.appendChild(newText);
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
ساخت بخش CDATA
«CDATA» بخشی است که متن خام نگه می دارد. کاراکترهای خاص در آن دست نخورده می مانند. برای پیام های ویژه عالی است.
newCDATA = xmlDoc.createCDATASection("Special Offer & Book Sale");
xmlDoc.getElementsByTagName("book")[0].appendChild(newCDATA);
ساخت نظر (Comment) جدید
«نظر (Comment)» برای توضیح به خودمان است و در داده نهایی نیست. با createComment() می سازیم و به عنصر می چسبانیم.
newComment = xmlDoc.createComment("Revised March 2015");
xmlDoc.getElementsByTagName("book")[0].appendChild(newComment);
ادامه مسیر یادگیری
گام بعدی: افزودن گره ها. اگر نیاز به تعویض داری، سر بزن به جایگزینی گره ها. همچنین این لینک را ببین: ساخت گره های DOM.
جمع بندی سریع
- createElement برای ساخت تگ جدید است.
- createAttribute و setAttribute ویژگی می سازند.
- createTextNode متن را اضافه می کند.
- CDATA متن خام نگه می دارد.
- createComment نظر اضافه می کند.