XPath - Examples with Operators

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>
..........