Tutorial XQuerylogin
Tutorial XQuery
pengarang:php.cn  masa kemas kini:2022-04-21 16:43:44

XQuery menambah elemen dan atribut



dokumen contoh XML

Kami akan terus menggunakan dokumen "books.xml" ini dalam contoh berikut (fail XML yang sama digunakan dalam bab di atas).

Lihat fail "books.xml" dalam penyemak imbas anda.


Tambah elemen dan atribut pada hasil

Seperti yang dilihat dalam bahagian sebelumnya, kita boleh merujuk elemen dan atribut daripada fail input dalam hasil:

untuk $x dalam doc("books.xml")/bookstore/book/title
pesanan dengan $x
kembali $x

Ungkapan XQuery di atas Formula akan merujuk elemen tajuk dan atribut lang dalam hasil carian, seperti ini:

<title lang="en">Italian Setiap Hari</title>
<title lang=" en ">Harry Potter</title>
<title lang="en">Pembelajaran XML</title>
<title lang="en">XQuery Kick Start</title>

Ungkapan XQuery di atas mengembalikan elemen tajuk dengan cara yang sama seperti yang diterangkan dalam dokumen input.

Kini kami mahu menambah elemen dan atribut kami sendiri pada hasilnya!

Tambah elemen HTML dan teks

Sekarang, kami akan menambah elemen HTML pada hasil carian. Kami akan meletakkan keputusan dalam senarai HTML:

<html>
<body>

<h1>Kedai Buku</h1>

<ul>
{
untuk $x dalam doc("books.xml")/kedai buku/buku
pesanan mengikut $x/title
kembali <li>{data($ x/title)}. Kategori: {data($x/@category)}</li>
}
</ul>

</body>
< ;/html>

Ungkapan XQuery di atas akan menjana hasil berikut:

<html>
<body>

< ;h1>Kedai buku</h1>

<ul>
<li>Kategori Setiap Hari: MEMASAK</li>
<li>Harry Potter>C. li>
<li>Kategori XML: WEB</li>
<li>
</html>

Menambah atribut pada elemen HTML

Seterusnya, kita perlu menggunakan atribut kategori sebagai atribut kelas dalam senarai HTML:

<html>
< badan>

<h1>Kedai buku</h1>

<ul>
{
untuk $x dalam doc("books.xml")/kedai buku/buku
pesanan mengikut $x/title
kembali <li class="{data($x/@category)}">{data($x/title)}</li>
}
</ul>

</body>
</html>

Ungkapan XQuery di atas menghasilkan keputusan berikut:

<html>
<body>
<h1>Kedai Buku</h1>

<ul>
<li class="MEMASAK"> ; Bahasa Itali setiap hari</li>
<li class="CHILDREN">Harry Potter</li>
<li class="WEB">Pembelajaran XML</li>
< class="WEB">XQuery Kick Start</li>
</ul>

</body> >