使用Dom4j时遇到的两个问题

系统 1343 0

前几天在使用Dom4j开发项目时,遇到了两个问题,今天记在这里:
1、直接使用SAXReader.read(String url)方法指定文件所在路径,读取包含中文内容的文件时,发生了错误,提示信息为:
org.dom4j.DocumentException:invalidbyte1of1-byteUTF-8sequence(0xb2)Nestedexception:invalidbyte1of1-byteUTF-8sequence(0xb2)。
具体原因是:Dom4j内部的方法在读取文件采用了默认的编码,和文件本身的编码不一致。
解决方法:使用SAXReader.read(Reader reader)方法代替前面的方法,先创建一个Reader实例:Reader reader = new InputStreamReader(new FileInputStream(path)),然后将这个reader作为参数传递给SAXReader.read方法。

2、使用doc.getSelectNodes(xpath)使用发生了错误,提示是:

java.lang.NoClassDefFoundError:org / jaxen / JaxenException
atorg.dom4j.DocumentFactory.createXPath(DocumentFactory.java:
230 )
atorg.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:
207 )
atorg.dom4j.tree.AbstractNode.selectNodes(AbstractNode.java:
164 )

通过信息可以发现是忘记了增加jaxen包,重新下载dom4j-1.6.2.zip,在lib中目录中有jaxen-1.1-beta-6.jar,添加project的classpath就可以了。

使用Dom4j时遇到的两个问题


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论