Retrieve XML data using XPath : XML query « XML « SQL Server / T-SQL Tutorial






3>
4> CREATE TABLE dbo.ProductBilling
5> (ProductBillingID int IDENTITY(1,1) PRIMARY KEY,
6> ProductBillingXML XML NOT NULL)
7> GO
1>
2> INSERT dbo.ProductBilling(ProductBillingXML)
3> VALUES ('<ProductBilling Billingnumber="1" customerid="22" orderdate="7/1/2005">
4~ <OrderItems>
5~ <Item id="22" qty="1" name="SQL"/>
6~ <Item id="24" qty="1" name="T-SQL"/>
7~ </OrderItems>
8~ </ProductBilling>')
9>
10> INSERT dbo.ProductBilling
11> (ProductBillingXML)
12> VALUES ('<ProductBilling Billingnumber="1" customerid="40" orderdate="7/11/2005">
13~ <OrderItems>
14~ <Item id="11" qty="1" name="Notes"/>
15~ </OrderItems>
16~ </ProductBilling>')
17>
18> INSERT dbo.ProductBilling
19> (ProductBillingXML)
20> VALUES ('<ProductBilling Billingnumber="1" customerid="9" orderdate="7/22/2005">
21~ <OrderItems>
22~ <Item id="11" qty="1" name="SQL Notes"/>
23~ <Item id="24" qty="1" name="T-SQL Notes"/>
24~ </OrderItems>
25~ </ProductBilling>')
26>
27> set quoted_identifier on
28>
29> SELECT ProductBillingID
30> FROM dbo.ProductBilling
31> WHERE ProductBillingXML.exist
32> ('/ProductBilling/OrderItems/Item[@id=11]') = 1
33> GO

(1 rows affected)

(1 rows affected)

(1 rows affected)
ProductBillingID
----------------
               2
               3

(2 rows affected)
1>
2> set quoted_identifier off
3>
4> drop table dbo.ProductBilling
5> GO








24.4.XML query
24.4.1.XML query on XML column
24.4.2.XPath query on XML
24.4.3.SELECT @ProductBillingXML.query('/ProductBilling/OrderItems/Item')
24.4.4.Retrieve XML data using XPath
24.4.5.XPath search and element index