如何根据页面属性使用Xpath获取多个cq页面

时间:2015-07-23 05:41:20

标签: xpath cq5 aem query-builder jcr

我有两个cq页面,我想使用XPATH使用jcr:title属性来检索这两个页面。以下查询适用于单个。

/jcr:root/content/test//element(*, cq:Page)[((jcr:like(jcr:content/@jcr:title, dell)))]

但是我想为多个项目提供帮助。我尝试了以下选项,但它无法正常工作

/jcr:root/content/test//element(*, cq:Page)[((jcr:like(jcr:content/@jcr:title, [dell,samusng])))]

有人可以帮我写xpath查询吗?

1 个答案:

答案 0 :(得分:2)

正如评论中已经提到的rakhi4110,你可以将多个where子句与SQL结合使用。虽然我认为您要么完全匹配,要么使用jcr:containts而不是jcr:like

完全匹配:

/jcr:root/content/test//element(*, cq:Page) [jcr:content/@jcr:title='dell' or jcr:content/@jcr:title='samsung']

包含:

/jcr:root/content/test//element(*, cq:Page) [jcr:contains(jcr:content/@jcr:title, 'dell') or jcr:contains(jcr:content/@jcr:title, 'samsung')]

或者,如果您真的想使用jcr:like,就像在SQL中一样,使用%作为通配符:

/jcr:root/content/test//element(*, cq:Page) [jcr:like(jcr:content/@jcr:title, '%dell%') or jcr:like(jcr:content/@jcr:title, '%samsung%')]