Bir örneğe bakarak bazı temel XQuery'yi öğrensinler.
XML Örneği Belgesi
Aşağıda örneklerde aşağıdaki XML belgesi kullanacaktır.
"Books.xml":
<?xml version="1.0" encoding="UTF-8"?>
<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">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
Görüntüle "books.xml" dosyayı tarayıcınıza .
Nasıl "books.xml" Kimden Düğümleri Seç?
Fonksiyonlar
XQuery XML belgeleri veri ayıklamak işlevlerini kullanır.
doc() fonksiyonu açmak için kullanılır "books.xml" dosyasını:
doc("books.xml")
Yol İfadeler
XQuery XML belgesinde öğeleri arasında gezinmek için yol ifadeleri kullanır.
Aşağıdaki yol ifadesi tüm başlık elemanlarını seçmek için kullanılır "books.xml" dosyası:
doc("books.xml") /bookstore/book/title
(/ Kitabevi kitapevi elemanı seçer / Kitap kitapeviyle elemanının altındaki tüm kitabın elemanlarını seçer ve / başlıkta adı geçen her bir kitap elemanının altında başlıktaki elemanlarını seçer)
XQuery yukarıdaki aşağıdaki çıkartacaktır:
<title lang="en">Everyday Italian</title>
<title lang="en">Harry Potter</title>
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>
yüklemler
XQuery XML belgeleri çıkarılan verileri sınırlamak için yüklemler kullanır.
Aşağıdaki isnat 30'dan küçük bir değere sahip bir fiyat öğesi kitapevi elemanı altında tüm kitap elemanlarını seçmek için kullanılır:
doc("books.xml")/bookstore/book [price<30]
XQuery yukarıdaki aşağıdaki çıkartacaktır:
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>