我試圖從XPath中的JCR中選擇一個文件夾及其後代。我可以很容易地選擇足夠的文件夾:選擇元素及其後代
//content/documents/folder-name
我可以選擇它的後代也:
//content/documents/folder-name//*
但是,我想不出如何讓兩者。我嘗試了幾件事情。這些選擇什麼:
//content/documents/folder-name | //content/documents/folder-name//*
//content/documents/folder-name(. | *)
//content/documents/folder-name/(. | *)
//content/documents/folder-name/descendant-or-self
//content/documents/folder-name/descendant-or-self::node()
這些都拋出javax.jcr.query.InvalidQueryException
:
顯然我在XPath的可怕。請幫忙。
編輯:我使用的是//
前綴,因爲我沒有意識到我可以用/jcr:root/content
代替。但是,我也遇到了同樣的問題。
'/ jcr:root/content/documents/folder-name |/jcr:root/content/documents/folder-name/*'什麼也不選。同樣也適用於'// content/documents/folder-name | //內容/文檔/文件夾名稱// *'。 '// content/documents/folder-name'不包含後代。 –
也許你最好發佈樣本XML和你期待的確切結果,以便我們知道你想要做什麼。您評論中的XPath現在包含名稱空間前綴,這是潛在問題的另一個可能來源,我們無法在沒有看到您的XML的情況下進行診斷。 – kjhughes
我想要,但它是一個巨大的文件與NDA的東西在裏面。當我有幾分鐘的時間時,我會嘗試讓事情更近一些。 –