XPath - Examples with Operators

admin's picture
 

Operator
Description
 |
Computes two node-sets
+
Addition
-
Subtraction
*
Multiplication
div
Division
=
Equal
!=
Not equal
Less than
<=
Less than or equal to
Greater than
>=
Greater than or equal to
or
or
and
and
mod
Modulus (division remainder)

The part of XML document that we will use for the following examples is:
 
..........
<items>
         <item>
                   <productID description="Product_1">CO11</productID>
                   <quantity>5</quantity>
                   <price>1.23</price>
                   <currency>USD</currency>
         </item>
         <item>
                   <productID description="Product_2">CO12</productID>
                   <quantity>7</quantity>
                   <price>2.34</price>
                   <currency>USD</currency>
         </item>
         <item>
                   <productID description="Product_3">CO13</productID>
                   <quantity>9</quantity>
                   <price>3.45</price>
                   <currency>USD</currency>
         </item>
</items>
         <total>53.58</total>
..........
 
1.  //item/price | //item/quantity
 
Result:
 
..........
<items>
         <item>
                   <productID description="Product_1">CO11</productID>
                   <quantity>5</quantity>
                   <price>1.23</price>
                   <currency>USD</currency>
         </item>
         <item>
                   <productID description="Product_2">CO12</productID>
                   <quantity>7</quantity>
                   <price>2.34</price>
                   <currency>USD</currency>
         </item>
         <item>
                   <productID description="Product_3">CO13</productID>
                   <quantity>9</quantity>
                   <price>3.45</price>
                   <currency>USD</currency>
         </item>
</items>
         <total>53.58</total>
..........
 
 
2. //item[position() > 1]
 
Result:
 
..........
<items>
         <item>
                   <productID description="Product_1">CO11</productID>
                   <quantity>5</quantity>
                   <price>1.23</price>
                   <currency>USD</currency>
         </item>
         <item>
                   <productID description="Product_2">CO12</productID>
                   <quantity>7</quantity>
                   <price>2.34</price>
                   <currency>USD</currency>
         </item>
         <item>
                   <productID description="Product_3">CO13</productID>
                   <quantity>9</quantity>
                   <price>3.45</price>
                   <currency>USD</currency>
         </item>
</items>
         <total>53.58</total>
..........
 
3.  //item[price <= 2]/price
 
Result:
 
..........
<items>
         <item>
                   <productID description="Product_1">CO11</productID>
                   <quantity>5</quantity>
                   <price>1.23</price>
                   <currency>USD</currency>
         </item>
         <item>
                   <productID description="Product_2">CO12</productID>
                   <quantity>7</quantity>
                   <price>2.34</price>
                   <currency>USD</currency>
         </item>
         <item>
                   <productID description="Product_3">CO13</productID>
                   <quantity>9</quantity>
                   <price>3.45</price>
                   <currency>USD</currency>
         </item>
</items>
         <total>53.58</total>
..........
 
4.  //item[quantity > 6/productID/@description]
 
..........
<items>
         <item>
                   <productID description="Product_1">CO11</productID>
                   <quantity>5</quantity>
                   <price>1.23</price>
                   <currency>USD</currency>
         </item>
         <item>
                   <productIDdescription="Product_2">CO12</productID>
                   <quantity>7</quantity>
                   <price>2.34</price>
                   <currency>USD</currency>
         </item>
         <item>
                   <productIDdescription="Product_3">CO13</productID>
                   <quantity>9</quantity>
                   <price>3.45</price>
                   <currency>USD</currency>
         </item>
</items>
         <total>53.58</total>
..........
 
5. //item[price < 3 and quantity > 5]/productID/text()
 
Result:
 
..........
<items>
         <item>
                   <productID description="Product_1">CO11</productID>
                   <quantity>5</quantity>
                   <price>1.23</price>
                   <currency>USD</currency>
         </item>
         <item>
                   <productID description="Product_2">CO12</productID>
                   <quantity>7</quantity>
                   <price>2.34</price>
                   <currency>USD</currency>
         </item>
         <item>
                   <productID description="Product_3">CO13</productID>
                   <quantity>9</quantity>
                   <price>3.45</price>
                   <currency>USD</currency>
         </item>
</items>
         <total>53.58</total>
..........