Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有特殊字符的jcr xpath搜索文本+;_Xpath_Lucene_Jcr - Fatal编程技术网

带有特殊字符的jcr xpath搜索文本+;

带有特殊字符的jcr xpath搜索文本+;,xpath,lucene,jcr,Xpath,Lucene,Jcr,我尝试使用包含特殊字符(如?+还有 我有4个节点: /tmp/exclamation[@prop="value with!"] /tmp/plus[@prop="value with+"] /tmp/question[@prop="value with?"] /tmp/string[@prop="value with string"] 现在我的问题是: /jcr:root/tmp//*[(jcr:contains(@prop, 'with') )] 将所有4个节点返回给我 /jcr:roo

我尝试使用包含特殊字符(如?+还有

我有4个节点:

/tmp/exclamation[@prop="value with!"]
/tmp/plus[@prop="value with+"]
/tmp/question[@prop="value with?"]
/tmp/string[@prop="value with string"]
现在我的问题是:

/jcr:root/tmp//*[(jcr:contains(@prop, 'with') )] 
将所有4个节点返回给我

/jcr:root/tmp//*[(jcr:contains(@prop, 'with\!') )] 
/jcr:root/tmp//*[(jcr:contains(@prop, 'with\?') )] 
/jcr:root/tmp//*[(jcr:contains(@prop, 'with\+') )] 
将所有4个节点返回给我

/jcr:root/tmp//*[(jcr:contains(@prop, 'with\!') )] 
/jcr:root/tmp//*[(jcr:contains(@prop, 'with\?') )] 
/jcr:root/tmp//*[(jcr:contains(@prop, 'with\+') )] 
将所有4个节点返回给我

/jcr:root/tmp//*[(jcr:contains(@prop, 'with\!') )] 
/jcr:root/tmp//*[(jcr:contains(@prop, 'with\?') )] 
/jcr:root/tmp//*[(jcr:contains(@prop, 'with\+') )] 
将所有4个节点返回给我

/jcr:root/tmp//*[(jcr:contains(@prop, 'with\!') )] 
/jcr:root/tmp//*[(jcr:contains(@prop, 'with\?') )] 
/jcr:root/tmp//*[(jcr:contains(@prop, 'with\+') )] 

我应该如何正确地逃脱!+?是否仅获取符合我的搜索条件的节点?

据我所知,您试图转义的字符是合法的XML字符,以下是非法字符:


在JCR中,首先在原因错误:异常生成查询:
org.apache.lucene.queryParser.ParseException:Cannot parse'with!'上与普通XPath有点不同:在第1行第5列遇到“”。应为以下内容之一:“(“…”*“…”[“…”{…“…”*”
第二个未找到任何内容,第三个将全部4个节点返回给我