در این قسمت می خواهیم درباره ی جایگزینی نودها صحب کنیم.از متد replaceChild برای جایگزینی node مورد نظر استفاده می شود از ویژگی nodeValue  برای جایگزینی متن node متنی استفاده می شود
جایگزین کردن یک node از نوع المنت
متد replaceChild برای جایگزین کردن یک node بکار می رود

مثال :

کد زیر node المنت به نام book را جایگزین می کند

xmlDoc=loadXMLDoc(“books.xml”);

x=xmlDoc.documentElement;

//create a book element, title element and a text node
newNode=xmlDoc.createElement(“book”);
newTitle=xmlDoc.createElement(“title”);
newText=xmlDoc.createTextNode(“A Notebook”);

//add the text node to the title node,
newTitle.appendChild(newText);
//add the title node to the book node
newNode.appendChild(newTitle);

y=xmlDoc.getElementsByTagName(“book”)[0]
//replace the first book node with the new node
x.replaceChild(newNode,y);

خط اول :

ایجاد اشاره گری به نام xmldoc به فایل books.xml

خط دوم :

ایجاد اشاره گری به نام x به تگ ریشه فایل xml ( تگ ریشه همان اولین تگ است که تمام تگ های دیگر فایل books.xml در ان قرار دارند )

خط سوم :

newNode=xmlDoc.createElement(“book”);

یک المنت جدید ( تگ جدید ) به نام book می سازد و اشاره گری به نام newnode به ان اشاه می کند

خط چهارم :

newTitle=xmlDoc.createElement(“title”);

تگی به نام title ایجاد می شود و اشاره گری به نام newtitle به ان اشاره می کند

خط پنجم :

newText=xmlDoc.createTextNode(“A Notebook”);

یک node متنی با محتوای a notebook ایجاد می شود و اشاره گری به نام newtext به ان اشاره می کند

خط ششم :

newTitle.appendChild(newText);

ان node ای که newtext به ان اشاره می کرد به درون تگی که newtitile به ان اشاره می کند اضافه می شود

خط هفتم :

newNode.appendChild(newTitle);

node ای که newtitile به ان اشاره می کند به درون تگی که newnode به ان اشاره می کند افزوده می شود

خط هشتم :

y=xmlDoc.getElementsByTagName(“book”)[0]

اشاره گری از اولین تگ book از فایل xml ای که xmldoc به ان اشاره دارد در y قرار می گیرد

خط نهم :

x.replaceChild(newNode,y);

ان چیزی که newnode به ان اشاره دارد ( یعنی تگ book به همراه node هایی که درونش قرار دادیم ) به جای node ای که y به ان اشاره دارد ( یعنی تگ book اول ) قرار می گیرد

مشاهده و اجرای برنامه کامل
جایگزین کردن اطلاعات یک node متنی با متد replaceData
متد replaceData برای جایگزین کردن محتوای یک node متنی بکار می رود

این متد سه پارامتر دارد :

offset : در این پارامتر یک عدد می گذاریم مشخص می کنیم جایگزینی کاراکترهای جدید به جای کاراکترهای قبلی node متنی از کاراکتر شماره چندم ان شروع شود

شماره گذاری کاراکترها در محتوای قبلی node متنی از صفر شروع می شود
lenght : چند کاراکتر جایگزین شود
string : رشته ای که باید جایگزین کاراکترهای قبلی شود

مثال:

xmlDoc=loadXMLDoc(“books.xml”);

x=xmlDoc.getElementsByTagName(“title”)[0].childNodes[0];

x.replaceData(0,8,”Easy”);

خط دوم :

اشاره گری به اولین  node فرزند اولین تگ titile از سندی که xmldoc به ان اشاره دارد ایجاد می کند

خط سوم :

x.replaceData(0,8,”Easy”);

با شروع از صفر ، یعنی اول رشته متنی موجود در node متنی ، هشت کاراکتر اول را با easy جایگزین می کند

با فرض اینکه مقدار فعلی این node متنی برابر Everyday Italian باشد

بعد از جایگزین شدن ، به  هشت کاراکتر اول ، رشته Easy  قرار میگیرد و نتیجه بصورت زیر خواهد شد :

Easy Italian
مشاهده و اجرای برنامه کامل
جایگزین کردن اطلاعات یک node متنی با ویژگی  nodeValue
استفاده از ویژگی nodeValue  برای جایگزین کردن محتوای node متنی ساده تر است

مثال :

قطعه کد زیر باعث جایگزین شدن محتوای متنی تگ titile با easy italian می شود

xmlDoc=loadXMLDoc(“books.xml”);

x=xmlDoc.getElementsByTagName(“title”)[0].childNodes[0];

x.nodeValue=”Easy Italian”;

 خط دوم :

اشاره گری به نام x به اولین node فرند اولین node المنتی که اسم ان title است ایجاد می کند

( بر طیق انچه در فایل books.xml است ، این فرزند همان node متنی است )

خط سوم:

مقدار متنی node ای که X به ان اشاره می کند برابر Easy Italian قرار می گیرد