Tutorial XML DO...login
Tutorial XML DOM
pengarang:php.cn  masa kemas kini:2022-04-13 15:27:56

nod penggantian DOM


XML DOM Gantikan nod


Kaedah replaceChild() menggantikan nod yang ditentukan.

Atribut nodeValue menggantikan teks dalam nod teks.


tryitimg.gifCuba - Contoh


Contoh berikut menggunakan fail XML buku .xml.
Fungsi loadXMLDoc(), terletak dalam JavaScript luaran, digunakan untuk memuatkan fail XML.

Gantikan nod elemen
Contoh ini menggunakan replaceChild() untuk menggantikan nod <book>

Ganti data dalam nod teks
Contoh ini menggunakan atribut nodeValue untuk menggantikan data dalam nod teks.


Gantikan nod elemen

Kaedah replaceChild() digunakan untuk menggantikan nod.

Coretan kod berikut menggantikan elemen <buku> pertama:

Instance

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>

<script>
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);

z=xmlDoc.getElementsByTagName("title");
for (i=0;i<z.length;i++)
{
document.write(z[i].childNodes[0].nodeValue);
document.write("<br>");
}
</script>
</body>
</html>

Jalankan Instance»

Klik butang "Jalankan Contoh" untuk melihat contoh dalam talian

Penjelasan contoh:

  1. Gunakan loadXMLDoc() untuk memuatkan "buku .xml" Dalam xmlDoc,

  2. mencipta nod elemen baharu <book>

  3. mencipta nod elemen baharu <title>

  4. Buat nod teks baharu dengan teks "A Notebook"

  5. Tambahkan nod teks baharu ini pada nod elemen baharu <title> >

  6. Tambahkan nod elemen baharu ini <tajuk> pada nod elemen baharu <buku> Nod elemen <book> baharu

  7. Ganti data dalam nod teks

  8. kaedah replaceData() digunakan untuk menggantikan data dalam nod teks. Kaedah

replaceData() mempunyai tiga parameter:

offset - tempat untuk mula menggantikan aksara. nilai offset bermula dengan 0.

  • panjang - berapa banyak aksara untuk digantikan

  • rentetan - rentetan untuk dimasukkan

  • Instance

  • <!DOCTYPE html>
    <html>
    <head>
    <script src="loadxmldoc.js"> 
    </script>
    </head>
    <body>
    
    <script>
    xmlDoc=loadXMLDoc("books.xml");
    
    x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
    document.write(x.nodeValue);
    x.replaceData(0,8,"Easy");
    
    document.write("<br>");
    document.write(x.nodeValue);
    
    </script>
    </body>
    </html>

Run instance»

Klik butang "Run instance" untuk melihat instance dalam talian

Penjelasan contoh:

  1. Gunakan loadXMLDoc() untuk memuatkan "books.xml" ke dalam xmlDoc

  2. Dapatkan <lt; ; Nod teks nod elemen

  3. menggunakan kaedah replaceData untuk menggantikan 8 aksara pertama nod teks dengan "Mudah"


Gunakan atribut nodeValue dan bukannya

Lebih mudah untuk menggantikan data dalam nod teks dengan atribut nodeValue.

Coretan kod berikut akan menggantikan nilai nod teks dalam elemen <tajuk> pertama dengan "Itali Mudah":

Contoh

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>

<script>
xmlDoc=loadXMLDoc("books.xml");

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

document.write("<br>");
document.write(x.nodeValue);

</script>
</body>
</html>

Jalankan contoh»

Klik butang "Jalankan contoh" untuk melihat contoh dalam talian

Penjelasan contoh:

  1. Gunakan loadXMLDoc() Muatkan "books.xml" ke dalam xmlDoc

  2. Dapatkan nod teks bagi nod elemen <title>

  3. Gunakan sifat nodeValue untuk menukar teks nod teks ini

Anda boleh membaca lebih lanjut tentang menukar nilai nod dalam bab Menukar Nod.