使用Dom4j时遇到的两个问题

简介: 前几天在使用Dom4j开发项目时,遇到了两个问题,今天记在这里:1、直接使用SAXReader.read(String url)方法指定文件所在路径,读取包含中文内容的文件时,发生了错误,提示信息为:org.dom4j.DocumentException: invalid byte 1 of 1-byte UTF-8 sequence (0xb2) Nested exception: invalid byte 1 of 1-byte UTF-8 sequence (0xb2)。

前几天在使用Dom4j开发项目时,遇到了两个问题,今天记在这里:
1、直接使用SAXReader.read(String url)方法指定文件所在路径,读取包含中文内容的文件时,发生了错误,提示信息为:
org.dom4j.DocumentException: invalid byte 1 of 1-byte UTF-8 sequence (0xb2) Nested exception: invalid byte 1 of 1-byte UTF-8 sequence (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 
at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:
230
at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:
207
at org.dom4j.tree.AbstractNode.selectNodes(AbstractNode.java:
164 )

通过信息可以发现是忘记了增加jaxen包,重新下载dom4j-1.6.2.zip,在lib中目录中有jaxen-1.1-beta-6.jar,添加project的classpath就可以了。
目录
相关文章
|
2月前
|
XML JavaScript 数据格式
什么是 DOM?
DOM,即文档对象模型,是W3C制定的访问HTML和XML文档的标准,允许程序动态访问和更新文档的内容、结构和样式。它分为核心DOM、XML DOM和HTML DOM三部分,分别针对不同类型的文档提供标准化的操作接口。
|
JavaScript
DOM 操作
DOM 操作
|
7月前
|
JavaScript 前端开发 API
DOM
DOM(文档对象模型,Document Object Model)是HTML文档的编程接口,它允许我们通过JavaScript来操作和修改HTML文档的结构和内容。DOM提供了一种树形结构,使我们能够像操作对象一样方便地操作HTML
116 7
|
XML JavaScript 前端开发
我理解的Dom
一、Dom 的基本概念 1、Dom:Document Object Model 文档对象模型; 2、Dom 是W3C组织推荐的处理可扩展标记语言的标准编程接口;
|
SQL JavaScript Devops
DOM总结
DOM总结
184 0
DOM总结
|
数据采集 JavaScript 前端开发
同样的 DOM 操作为什么会有不一样的结果?
深夜光顾小网站,一进去竟然全部是广告,可惜 wuhen 模式下无法开启我的 Adblock,可我再转念一下,删广告这种事还用得着浏览器插件,不就是一个 DOM 操作?我直接一行代码删完
|
XML JavaScript 数据格式
简单的DOM的相关总结
简单的DOM的相关总结
114 0
|
JavaScript
DOM练习
DOM练习
104 0
|
XML 移动开发 JavaScript
【SSD系列】DOM0, DOM1, DOM2, DOM3, DOM4,知多少
DOM(文档对象模型)是针对 HTML和 XML文档的一个API(应用程序编程接口)。DOM描绘了一个层次化的节点树,允许开发人员添加、移除和修改页面的某一部分。DOM 脱胎于Netscape及微软公司创始的 DHTML(动态 HTML),但现在它已经成为表现和操作页面标记的真正的跨平台、语言中立的方式。
568 0
【SSD系列】DOM0, DOM1, DOM2, DOM3, DOM4,知多少
|
XML 数据格式
使用dom4j
使用dom4j实现增删改查
246 0