我刚开始使用WoodStox。我必须读取Unicode字符的所有可能组合并写入XML文件。WoodStox无法读取某些Unicode字符。有人能帮我吗?当遇到这个字符时,我如何跳过这个字符,或者在XML文件中编写这个Unicode字符的一些解决方案。
我得到的例外是24364002-数据集-结果: SXXP0003: XML解析器报告的错误:字符引用"“的第1列1404735上的错误是无效的XML字符。例外是: net.sf.saxon.trans.XPathException: org.xml.sax.SAXParseException:字符引用"“是无效的XML字符。
发布于 2012-03-30 11:15:00
我也不熟悉WoodStox,但我可以说FFFE确实不是一个有效的Unicode字符,所以它可能更多地是输入的问题,而不是解析器的问题。FFFE是一些编码器最常用的UTF-16编码,用来表示字节顺序(小的或大的)。根据它是以FFFE还是FEFF的形式读取,解码器知道要选择哪个字节顺序。但这不是一个标准,也不是所有的解码器都支持它。
这样使用时,它总是文件的前两个字节。
所以,你需要检查的是:
。
最坏的情况是,如果您的文件以FFFE或FFEF开头,则只需将其从文件中删除,然后再将其提供给WoodStox。不过,请确保在WoodStox中设置了正确的字节顺序。
https://stackoverflow.com/questions/9940895
复制相似问题