论坛首页 Java企业应用论坛

dom4j解析xml文档时的字符引用(数字实体)问题及初步分析。

浏览 4401 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-11-30   最后修改:2010-03-23

xml中的字符引用 也叫作字符 实体编号实体 ,例如我们可以

 
  1. & //显示一个and符号——&   

也可以 

  1. &# 38 //也是显示一个and符号——&   

第二种方式就叫做编号实体 ,在xml规范中定义了5个实体: 

  1. <!ENTITY quot "&#34;" >   
  2. <!ENTITY amp  "&#38;" >   
  3. <!ENTITY apos "&#39;" >   
  4. <!ENTITY lt   "&#38;#60;" >   
  5. <!ENTITY gt   "&#62;" >   

我们可以通过名称quot、amp……来引用,也可以通过数字34、38……来引用。平时常用的(定义在HTML中的)实体还有: 

  1. <!ENTITY nbsp "&#160;" >    <!-- 不折行空格 -->   
  2. <!ENTITY copy "&#169;" >   <!-- 版权符号 -->   

我的问题是,在dom4j 使用SAXReader解析xml文档时,其中的字符实体&#160、&#169都会变成问号——?,理论上来说 这里的数字(160、169)是字符在编码表中的(十进制)编码值,我给SAXReader设置的encoding是utf-8,难道unicode中没有160、169这两个值?

不知道大家是否有遇到这样的问题,有没有什么解决方法或思路?

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics