Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server
Azure SQL Database
Contoh berikut menunjukkan bagaimana sumbu ditentukan dalam kueri XPath.
Kueri XPath dalam contoh ini ditentukan terhadap skema pemetaan yang terkandung dalam SampleSchema1.xml. Untuk informasi tentang skema sampel ini, lihat Contoh Skema XSD Anotasi untuk Contoh XPath (SQLXML 4.0).
Contoh
J. Mengambil elemen turunan dari simpul konteks
Kueri XPath berikut memilih semua <elemen Kontak> anak dari simpul konteks:
/child::Contact
Dalam kueri, child adalah sumbu dan Contact merupakan pengujian simpul (TRUE jika Contact merupakan <node elemen> , karena <elemen> adalah jenis node utama yang terkait dengan child sumbu).
Sumbu child adalah default. Oleh karena itu, kueri dapat ditulis sebagai:
/Contact
Untuk menguji kueri XPath terhadap skema pemetaan
Salin kode skema sampel dan tempelkan ke dalam file teks. Simpan file sebagai SampleSchema1.xml.
Buat templat berikut (XPathAxesSampleA.xml) dan simpan di direktori tempat SampleSchema1.xml disimpan.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Contact </sql:xpath-query> </ROOT>Jalur direktori yang ditentukan untuk skema pemetaan (SampleSchema1.xml) relatif terhadap direktori tempat templat disimpan. Jalur absolut juga dapat ditentukan, misalnya:
mapping-schema="C:\MyDir\SampleSchema1.xml"Buat dan gunakan Skrip Pengujian SQLXML 4.0 (Sqlxml4test.vbs) untuk menjalankan templat.
Untuk informasi selengkapnya, lihat Menggunakan ADO untuk Menjalankan Kueri SQLXML 4.0.
Berikut adalah rangkaian hasil parsial dari eksekusi templat:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Contact ContactID="1" LastName="Achong" FirstName="Gustavo" Title="Mr." />
<Contact ContactID="2" LastName="Abel" FirstName="Catherine" Title="Ms." />
<Contact ContactID="3" LastName="Abercrombie" FirstName="Kim" Title="Ms." />
<Contact ContactID="4" LastName="Acevedo" FirstName="Humberto" Title="Sr." />
...
</ROOT>
B. Mengambil cucu dari simpul konteks
Kueri XPath berikut memilih semua > dari turunan< elemen Pelanggan> dari simpul konteks:
/child::Customer/child::Order
Dalam kueri, child adalah sumbu dan Customer dan Order merupakan pengujian simpul (pengujian node ini TRUE jika Pelanggan dan Pesanan adalah<>, karena > adalah simpul utama untuk sumbu anak). Untuk setiap simpul yang cocok dengan <Pelanggan>, simpul yang cocok dengan Pesanan<> ditambahkan ke hasilnya. Hanya <Pesanan> yang dikembalikan dalam tataan hasil.
Sumbu anak adalah default. Oleh karena itu, kueri dapat ditentukan sebagai:
/Customer/Order
Untuk menguji kueri XPath terhadap skema pemetaan
Salin kode skema sampel dan tempelkan ke dalam file teks. Simpan file sebagai SampleSchema1.xml.
Buat templat berikut (XPathAxesSampleB.xml) dan simpan di direktori tempat:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Customer/Order </sql:xpath-query> </ROOT>Jalur direktori yang ditentukan untuk skema pemetaan (SampleSchema1.xml) relatif terhadap direktori tempat templat disimpan. Jalur absolut juga dapat ditentukan, misalnya:
mapping-schema="C:\MyDir\SampleSchema1.xml"Buat dan gunakan Skrip Pengujian SQLXML 4.0 (Sqlxml4test.vbs) untuk menjalankan templat.
Untuk informasi selengkapnya, lihat Menggunakan ADO untuk Menjalankan Kueri SQLXML 4.0.
Berikut adalah rangkaian hasil parsial dari eksekusi templat:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Order SalesOrderID="Ord-43860" SalesPersonID="280"
OrderDate="2001-08-01T00:00:00"
DueDate="2001-08-13T00:00:00"
ShipDate="2001-08-08T00:00:00">
<OrderDetail ProductID="Prod-729" UnitPrice="226.8571"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-732" UnitPrice="440.1742"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-738" UnitPrice="220.2496"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-753" UnitPrice="2576.3544"
OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-756" UnitPrice="1049.7528"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-758" UnitPrice="1049.7528"
OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-761" UnitPrice="503.3507"
OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-762" UnitPrice="503.3507"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-763" UnitPrice="503.3507"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-765" UnitPrice="503.3507"
OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-768" UnitPrice="503.3507"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-770" UnitPrice="503.3507"
OrderQty="1" UnitPriceDiscount="0" />
</Order>
...
</ROOT>
Jika kueri XPath ditentukan sebagai Customer/Order/OrderDetail, dari setiap simpul yang cocok dengan< Pelanggan>, kueri menavigasi ke elemen Pesanannya<>. Dan untuk setiap node yang cocok dengan >, kueri menambahkan node <OrderDetail> ke hasil. Hanya <OrderDetail> yang dikembalikan dalam tataan hasil.
C. Pakai.. untuk menentukan sumbu induk
Kueri berikut mengambil semua <elemen Pesanan> dengan elemen Pelanggan< induk> dengan nilai atribut CustomerID 1. Kueri menggunakan sumbu anak dalam predikat untuk menemukan induk elemen Pesanan>.
/child::Customer/child::Order[../@CustomerID="1"]
Sumbu anak adalah sumbu default. Oleh karena itu, kueri dapat ditentukan sebagai:
/Customer/Order[../@CustomerID="1"]
Kueri XPath setara dengan:
/Customer[@CustomerID="1"]/Order.
Catatan
Kueri /Order[../@CustomerID="1"] XPath akan mengembalikan kesalahan karena tidak ada induk Pesanan<>. Meskipun mungkin ada elemen dalam skema pemetaan yang berisi >, XPath tidak dimulai pada salah satunya; akibatnya,< Order> dianggap sebagai jenis elemen tingkat atas dalam dokumen.
Untuk menguji kueri XPath terhadap skema pemetaan
Salin kode skema sampel dan tempelkan ke dalam file teks. Simpan file sebagai SampleSchema1.xml.
Buat templat berikut (XPathAxesSampleC.xml) dan simpan di direktori tempat:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Customer/Order[../@CustomerID="1"] </sql:xpath-query> </ROOT>Jalur direktori yang ditentukan untuk skema pemetaan (SampleSchema1.xml) relatif terhadap direktori tempat templat disimpan. Jalur absolut juga dapat ditentukan, misalnya:
mapping-schema="C:\MyDir\SampleSchema1.xml"Buat dan gunakan Skrip Pengujian SQLXML 4.0 (Sqlxml4test.vbs) untuk menjalankan templat.
Untuk informasi selengkapnya, lihat Menggunakan ADO untuk Menjalankan Kueri SQLXML 4.0.
Berikut adalah rangkaian hasil parsial dari eksekusi templat:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Order SalesOrderID="Ord-43860" SalesPersonID="280"
OrderDate="2001-08-01T00:00:00"
DueDate="2001-08-13T00:00:00"
ShipDate="2001-08-08T00:00:00">
<OrderDetail ProductID="Prod-729" UnitPrice="226.8571"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-732" UnitPrice="440.1742"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-738" UnitPrice="220.2496"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-753" UnitPrice="2576.3544"
OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-756" UnitPrice="1049.7528"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-758" UnitPrice="1049.7528"
OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-761" UnitPrice="503.3507"
OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-762" UnitPrice="503.3507"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-763" UnitPrice="503.3507"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-765" UnitPrice="503.3507"
OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-768" UnitPrice="503.3507"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-770" UnitPrice="503.3507"
OrderQty="1" UnitPriceDiscount="0" />
</Order>
...
</Order>
</ROOT>
D. Tentukan sumbu atribut
Kueri XPath berikut memilih semua > dari simpul konteks dengan nilai atribut CustomerID 1:
/child::Customer[attribute::CustomerID="1"]
Dalam predikat attribute::CustomerID, attribute adalah sumbu dan CustomerID merupakan pengujian simpul (jika CustomerID merupakan atribut pengujian node adalah TRUE, karena <node atribut> adalah simpul utama untuk attribute sumbu).
Pintasan ke attribute sumbu (@) dapat ditentukan, dan karena child merupakan sumbu default, itu dapat dihilangkan dari kueri:
/Customer[@CustomerID="1"]
Untuk menguji kueri XPath terhadap skema pemetaan
Salin kode skema sampel dan tempelkan ke dalam file teks. Simpan file sebagai SampleSchema1.xml.
Buat templat berikut (XPathAxesSampleD.xml) dan simpan di direktori tempat SampleSchema1.xml disimpan.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> child::Customer[attribute::CustomerID="1"] </sql:xpath-query> </ROOT>Jalur direktori yang ditentukan untuk skema pemetaan (SampleSchema1.xml) relatif terhadap direktori tempat templat disimpan. Jalur absolut juga dapat ditentukan, misalnya:
mapping-schema="C:\MyDir\SampleSchema1.xml"Buat dan gunakan Skrip Pengujian SQLXML 4.0 (Sqlxml4test.vbs) untuk menjalankan templat.
Untuk informasi selengkapnya, lihat Menggunakan ADO untuk Menjalankan Kueri SQLXML 4.0.
Berikut adalah rangkaian hasil parsial dari eksekusi templat:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Customer CustomerID="1" SalesPersonID="280"
TerritoryID="1" AccountNumber="1"
CustomerType="S" Orders="Ord-43860 Ord-44501 Ord-45283 Ord-46042">
<Order SalesOrderID="Ord-43860" SalesPersonID="280"
OrderDate="2001-08-01T00:00:00"
DueDate="2001-08-13T00:00:00"
ShipDate="2001-08-08T00:00:00">
<OrderDetail ProductID="Prod-729" UnitPrice="226.8571"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-732" UnitPrice="440.1742"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-738" UnitPrice="220.2496"
OrderQty="1" UnitPriceDiscount="0" />
...
</Order>
...
</Customer>
</ROOT>