jaxen版本问题造成xpath工作不正常

由于工作中经常涉及跨平台的数据交换,XML是不二选择。 

虽然SOAP能让各种异构平台都使用自由对象,但是很难避免要手动处理通过纯文本传递过来的xml数据。XPath能让工作简单很多,这样一条xpath查询:

/*[local-name()='Root']/*[local-name()='Person']/*[local-name()='Name']

显然要比手动处理SAX流程或者dom tree要简单很多,况且现在jdom和dom4j都已经大量普及,他们对xpath的支持都还做的不错。

今天写了一段代码,利用一个xpath查询,在dom4j中处理一个极为简单的xml,本来打算几分钟脱手的,结果程序一直执行不正常,xpath始终无法找到节点,无论怎么查,都只能返回null或是size=0的List,程序也不报告任何异常,其不厚道者甚矣。一再确认xpath表达式、标签名、明明空间,却总是不得要领,郁闷,太过丢人。

无奈之下,只能怀疑部署环境有问题。程序是部署在Jboss 4.0.2下的一个很简单的war,打开jboss/lib,发现下面由一个dom4j,估计版本有点低,替换成dom4j 1.6.1,问题依旧,再郁闷。喝两口茶,突然想起dom4j的xpath api是依赖jaxen完成的,其功能本身和dom4j.jar没有什么关系,于是把jboss/lib下的jaxen.jar替换成dom4j 1.6.1的lib下的版本,try again,运行正常。

第一次使用搜狗输入法,发现很容易产生错别字。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值