XPATH语法从XML中选择产品

时间:2012-10-09 16:09:50

标签: xml xpath

我有以下XPATH似乎是为该类别选择了正确的产品,但是当我的XPath中的qtyInStock值为0时,错误地选择了产品qtyInStock> 0.任何人都可以看到这有什么问题,我认为我的语法不正确。

  

/ products / product [category = 1234或additionalCategories / catID = 1234   和qtyInStock> 0]

<?xml version="1.0" encoding="UTF-8"?>
<products>
<product>
<prod_id>2100818</prod_id>
<productURL></productURL>
<productImageURL>jb-m-kirichigai-draw-6.jpg</productImageURL>
<category>448267</category>
<qtyInStock>2</qtyInStock>
<featured>1</featured>
<Hidden>0</Hidden>
<productName>1.5 Sun Kirichigai 6 Step with Draw Japanese Puzzle Box</productName>
<livePrice>39.4</livePrice>
<fullURL>http://www.faze3.co.uk/index.aspx?pageID=527917&amp;prodID=2100818</fullURL>
</product>
<product>
<prod_id>2101600</prod_id>
<productURL></productURL>
<productImageURL>jb-2-kiasa-7.jpg</productImageURL>
<category>448267</category>
<qtyInStock>1</qtyInStock>
<featured>1</featured>
<Hidden>0</Hidden>
<productName>2 Sun Kiasa 7 Step Japanese Puzzle Box</productName>
<livePrice>28.4</livePrice>
<fullURL>http://www.faze3.co.uk/index.aspx?pageID=527917&amp;prodID=2101600</fullURL>
</product>
<product>
<prod_id>2101795</prod_id>
<productURL></productURL>
<productImageURL>jb-2-koyosegi-7.jpg</productImageURL>
<category>448267</category>
<qtyInStock>2</qtyInStock>
<featured>1</featured>
<Hidden>0</Hidden>
<productName>2 Sun Koyosegi 7 Step Japanese Puzzle Box</productName>
<livePrice>25.95</livePrice>
<fullURL>http://www.faze3.co.uk/index.aspx?pageID=527917&amp;prodID=2101795</fullURL>
</product>
<product>
<prod_id>2102219</prod_id>
<productURL></productURL>
<productImageURL>jb-2-kuroasa-10.jpg</productImageURL>
<category>448267</category>
<qtyInStock>0</qtyInStock>
<featured>1</featured>
<Hidden>0</Hidden>
<productName>2 Sun Kuroasa 10 Step Japanese Puzzle Box</productName>
<livePrice>34.8</livePrice>
<fullURL>http://www.faze3.co.uk/index.aspx?pageID=527917&amp;prodID=2102219</fullURL>
</product>

1 个答案:

答案 0 :(得分:1)

and运算符的优先级高于or运算符。有关详细信息,请参阅here

请尝试以下(注意括号分组)

/products/product[(category = 1234 or additionalCategories/catID =1234) and qtyInStock > 0]