我收到以下代码的无效 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");
Run Code Online (Sandbox Code Playgroud)
当 current.name 中的字符串中有撇号时会发生异常
current.name: "Répartition par secteur d'activité"
错误信息
您可以通过加倍来转义引号:
current.Name = current.Name.replace("'", "''");
Run Code Online (Sandbox Code Playgroud)
编辑:
对于 Xpath 1.0,您可以尝试以下操作:
String xp1 = "//page[@name=\""+current.Name+"\"]" ;
Run Code Online (Sandbox Code Playgroud)
即使用双引号而不是单引号来分隔名称(尽管这意味着您将无法搜索带有双引号的字符串。
另请注意,对于第二种解决方案,您不需要替换引号。
| 归档时间: |
|
| 查看次数: |
8602 次 |
| 最近记录: |