The entity "nbsp" was referenced, but not declared

翻译

  实体”“被引用,但没有声明

问题 

      使用xhtmlrenderer将网页转成PDF时报The entity "nbsp" was referenced, but not declared.异常;而某些页面却是正常。这个问题是页面中包含了 导致的,而这个标记在页面中使用是很正常且频繁了。

原因

      该问题是由于未定义HTML的DOCTYPE,致使SAX将内容按照xml默认定义进行解析,而xml中&开头表示可解析的实体,这个实体被DTD预先定义

解决

方法1. 

           加入正确的DOCTYPE,如:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

方法2.

          html转换为XML格式的时候html里面含有&nbsp会出现The entity "nbsp" was referenced, but not declared.这个异常,解决的办法是把&nbsp替换成&#160即可!

原文地址:https://www.cnblogs.com/yangkai-cn/p/4016807.html