DOM4J中使用XPath异常(字符串比较出错)

使用jar包:

  • dom4j-1.6.1.jar
  • jaxen-1.1.1.jar

出错代码:

Node poj = root.selectSingleNode("//poj[@id=" + pojId + "]");

问题状态:

  • 当poj节点下有子节点时,读取没有问题,当其下没有子节点时,出现该异常

异常如下:

org.dom4j.InvalidXPathException: Invalid XPath expression: //…………Expected: ]

解决方法:

  • 首先猜测是jar包版本兼容或方法问题,更换jaxen.jar包版本,从1.1.7换为1.1.1,无效果
  • 后猜测会不会是字符串比较出现了问题,更改代码如下:
Node poj = root.selectSingleNode("//poj[@id='" + pojId + "']");

结果:有效

你可能感兴趣的:(XML)