无法使用jdom解析器解析包含utf8 0xc2 0x85字符的字符串



我有一个包含0xc2 0x85字符的utf-8字符串。Eclipse将其视为空白。某些应用程序将此视为'…'。

因为字符串是xml,所以我使用jdom解析器,jdom解析器失败并给出以下异常。

org.jdom.input。JDOMParseException:第1行错误:prolog中不允许有内容。org.jdom.input.SAXBuilder.build (SAXBuilder.java: 381)org.jdom.input.SAXBuilder.build (SAXBuilder.java: 764)

你知道为什么jdom解析器不把它当作空格吗?我还能做些什么来让解析器成功地验证xml ?xml字符串中的所有其他元素看起来都没问题。

空白在XML中具有非常特殊的含义。在XML的根元素之外,唯一允许的字符是(#x20 | #x9 | #xD | #xA)+(空格、回车、换行符和制表符)。

XML中的序言区域允许包含有限的结构和空间。

您所显示的字符不允许出现在根元素之外的有效XML中。对不起。

JDOM(实际上是SAX解析器)在解析该字符时没有任何问题。您得到的异常总是由xml prolog前的非法字符引起的:

<?xml version="1.0" encoding="UTF-8"?>

在此之前可能有"不可见"的字符,但它们仍然存在。

相关内容

最新更新