以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML工具及XML开发环境 』  (http://bbs.xml.org.cn/list.asp?boardid=7)
----  如何解决org.xml.sax.SAXParseException: 引用未定义实体“ ”。请指教!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=7&rootid=&id=24325)


--  作者:pangmeiyu
--  发布时间:11/16/2005 9:34:00 PM

--  如何解决org.xml.sax.SAXParseException: 引用未定义实体“ ”。请指教!
org.xml.sax.SAXParseException: 引用未定义实体“ ”。
 at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3376)
 at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3370)
 at org.apache.crimson.parser.Parser2.expandEntityInContent(Parser2.java:2697)
 at org.apache.crimson.parser.Parser2.maybeReferenceInContent(Parser2.java:2606)
 at org.apache.crimson.parser.Parser2.content(Parser2.java:2017)
 at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
 at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
 at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
 at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
 at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
 at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
 at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
 at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
 at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
 at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
 at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
 at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:667)
 at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
 at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
 at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
 at javax.xml.parsers.SAXParser.parse(SAXParser.java:143)
java.lang.NullPointerException
以上错误是什么原因引起的?请高手指教!!

--  作者:98900969r
--  发布时间:11/18/2005 9:12:00 PM

--  
" "中的nbsp是non-breaking space的意思。它不是XML的内建(built-in)实体。而html中用到它,xhtml中也有定义。它代表一个空格,而且指示浏览器不能在此处打断(breaking,其实就是不能换行)。

例如,想要在一句话中包含一个人名:"******* de facto *******",其中星号代表前后文,这里有就需要用一个nbsp,因为de fact实际上是一个单词,不是两个。

所以你所解析的文档可能是一个用了nbsp的xml。简单的办法就是把它去掉。如果非要用,你就得定义它。但是多数情况下,你可能是要在一个xml中包含要逐字""这个字符串,以便输出到由其导出的html中。例如为了保证在浏览时de facto不会出现de在上一行,而facto跑到下一行去了,在写用来导出html的文档中(xml,或者asp)时应该这样用:

de facto

这样在导出的html中就对了。我为了输出上面那个和现在这个" ",就是这么做的。



W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
109.375ms