با سلام خدمت کاربران گرامی سایت پی وی لرن و علاقمندان و کاربرانی که علاقمند به یادگیری دوره XML هستند. در جلساتی که پشت سر نهادیم گام گام کار با گره ها را فراگرفتیم. در ادامه این دوره آموزش جایگذاری گره ها در DOM را به علاقمندان این دوره ارائه می کنیم.
روش ()replaceChild یک گره مشخص را جایگزین می کند.
ویژگی nodeValue متن را در یک گره متنی جایگزین می نماید.
در آموزش جایگذاری گره ها در DOM به توضیح و تشریح روش ()replaceChild و ویژگی می پردازیم.
همان طور که می دانید روش ()replaceChild یک گره مشخص را جایگزین می کند.
قطعه کد زیر جایگزین اولین عنصر <book> می شود:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <bookstore> <book category="cooking"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="children"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="web"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> <book category="web" cover="paperback"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore> |
۲٫ گره عنصر جدید <book> ساخته می شود.
۳٫ گره عنصر جدید <title> ایجاد می گردد.
۴٫ یک گره متن جدید با متن “A Notebook” ایجاد می شود.
۵٫ گره متنی جدید به گره عنصر جدید <title> اضافه می گردد.
۶٫ گره عنصر جدید <title> به عنصر جدید book> اضافه می شود.
۷٫ اولین گره عنصر <book> اولین گره جدید <book> را جایگزین می نماید.
روش ()replaceData برای جایگزینی داده ها در یک گره متنی استفاده می شود.
روش ()replaceData دارای سه پارامتر است:
1 2 3 4 5 | xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.replaceData(0,8,"Easy"); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <bookstore> <book category="cooking"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="children"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="web"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> <book category="web" cover="paperback"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore> |
۲٫ گره متنی را از اولین گره عنصر <title> دریافت می شود.
۳٫ از روش replaceData برای جایگزینی هشت کاراکتر اول از گره متن با “Easy” استفاده می شود.
خبر خوب آن است که راه میان بری برای جایگزینی وجود دارد و آن راه، استفاده از ویژگی nodeValue برای جایگزینی داده ها است.
قطعه کد زیر مقدار گره متن را در اولین عنصر <title> با “Easy Italian” جایگزین می کند:
1 2 3 4 5 | xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Easy Italian"; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <bookstore> <book category="cooking"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="children"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="web"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> <book category="web" cover="paperback"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore> |
۲٫ گره متنی را از اولین گره عنصر <title> دریافت می نماید.
۳٫ برای تغییر متن گره متن از ویژگی nodeValue استفاده شده است.
در این جلسه آموختیم که چگونه به جایگذاری داده در DOM بپردازیم.
در جلسه بعدی کار با گره ها را با ایجاد گره ها و یا ساخت آن ها در DOM ادامه می دهیم.
با پی وی لرن همراه باشید.