我得到以下代码的无效Xpath异常.
current.Name = current.Name.replace("'", "\'");
System.out.println(current.Name );
String xp1 = "//page[@name='"+current.Name+"']" ;
Element n = (Element) oDocument.selectSingleNode(xp1+"/Body/contents");
当current.name中的字符串中包含撇号时发生异常
current.name:\”Répartitionparsecteur d’activité“
错误信息
最佳答案 你可以通过加倍来逃避报价:
current.Name = current.Name.replace("'", "''");
编辑:
对于Xpath 1.0,您可以尝试以下方法:
String xp1 = "//page[@name=\""+current.Name+"\"]" ;
即使用双引号而不是单引号来分隔名称(尽管这意味着您将无法使用双引号搜索字符串.
另请注意,对于第二种解决方案,您无需替换引号.