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

Nod penciptaan DOM


XML DOM Buat Nod


tryitimg.gifCuba - Contoh


Contoh di bawah menggunakan fail XML books.xml.
Fungsi loadXMLDoc(), terletak dalam JavaScript luaran, digunakan untuk memuatkan fail XML.

Buat nod elemen
Contoh ini menggunakan createElement() untuk mencipta nod elemen baharu dan appendChild() untuk menambahkannya pada nod.

Gunakan createAttribute untuk mencipta nod atribut
Contoh ini menggunakan createAttribute() untuk mencipta nod atribut baharu dan gunakan setAttributeNode() untuk memasukkannya ke dalam elemen.

Gunakan setAttribute untuk mencipta nod atribut
Contoh ini menggunakan setAttribute() untuk mencipta atribut baharu bagi sesuatu elemen.

Buat nod teks
Contoh ini menggunakan createTextNode() untuk mencipta nod teks baharu dan appendChild() untuk menambahkannya pada elemen.

Buat nod bahagian CDATA
Contoh ini menggunakan createCDATAsection() untuk mencipta nod bahagian CDATA dan menggunakan appendChild() untuk menambahkannya pada elemen.

Buat nod ulasan
Contoh ini menggunakan createComment() untuk mencipta nod ulasan dan appendChild() untuk menambahkannya pada elemen.


Buat nod elemen baharu

Kaedah createElement() mencipta nod elemen baharu:

Instance

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

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

newel=xmlDoc.createElement("edition");

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

document.write(x.getElementsByTagName("edition")[0].nodeName);
</script>
</body>
</html>

Jalankan contoh»

Klik butang "Jalankan contoh" untuk melihat contoh dalam talian

Penjelasan contoh:

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

  2. Buat nod elemen baharu <edition>

  3. kepada yang pertama <buku> elemen tambahkan nod elemen ini

Lintas dan tambahkan elemen pada semua <buku> nod atribut

createAttribute() digunakan untuk mencipta nod atribut baharu:

Instance

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

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

newatt=xmlDoc.createAttribute("edition");
newatt.nodeValue="first";

x=xmlDoc.getElementsByTagName("title");
x[0].setAttributeNode(newatt);

document.write("Edition: ");
document.write(x[0].getAttribute("edition"));

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

Jalankan instance »
Klik butang "Jalankan Instance" untuk melihat contoh dalam talian

Penjelasan contoh:

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

  2. Buat nod atribut baharu " edisi"

  3. Tetapkan nilai nod atribut kepada "first"

  4. Tambahkan atribut baharu ini pada <title> elemen Nod

lelaran melalui semua <title> elemen dan menambah nod atribut baharu: cuba

Nota: Jika atribut sudah ada Jika ia wujud , ia akan digantikan dengan atribut baharu.


Gunakan setAttribute() untuk mencipta atribut

Oleh kerana kaedah setAttribute() boleh mencipta atribut baharu jika atribut itu tidak wujud, kita boleh menggunakan kaedah ini untuk mencipta atribut baharu .

Penjelasan contoh:

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

  2. ialah yang pertama < Elemen buku> menetapkan (membuat) atribut "edisi" dengan nilai "pertama"

Mengulangi semua elemen <tajuk>


Buat nod teks

Kaedah createTextNode() mencipta nod teks baharu:

Instance

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

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

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

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

//Output title and edition
document.write(x.getElementsByTagName("title")[0].childNodes[0].nodeValue);
document.write(" - Edition: ");
document.write(x.getElementsByTagName("edition")[0].childNodes[0].nodeValue);
</script>
</body>
</html>

Run Contoh»

Klik butang "Run Example" untuk melihat contoh dalam talian

Penjelasan contoh:

  1. Gunakan loadXMLDoc() untuk meletakkan "books. xml" Muatkan xmlDoc

  2. Buat nod elemen baharu<edition>

  3. Buat yang baharu nod teks yang teksnya " pertama"

  4. Tambahkan nod teks baharu pada nod elemen ini

  5. Tambahkan nod elemen baharu pada < pertama ;elemen buku>

Tambahkan nod elemen dengan nod teks pada semua elemen <buku> >

Kaedah createCDATASection() mencipta nod bahagian CDATA baharu.

Instance

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

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

newCDATA=xmlDoc.createCDATASection("Special Offer & Book Sale");

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

document.write(x.lastChild.nodeValue);
</script>
</body>
</html>