【发布时间】:2013-11-26 12:07:35
【问题描述】:
我必须阅读具有 X; 字符集的大型 XML 文档(千兆字节),其中 XX 小于 31。通常,我知道这些字符集 (
文件的作者决定在文本中使用这个字符集,而改变它是我无法控制的。
在声明 xml 文件的标头:<?xml version="1.0" encoding ="UTF-8"?> 时,我尝试了除 UTF-8 之外的不同 xml 编码方案声明,但尝试在我的 XML 解析器中呈现它时没有成功。
为了使问题可重现和清晰,请考虑下面的简单 xml 文件(例如,在姓名 Fred 后面有 字符集):
<?xml version="1.0" encoding ="UTF-8"?>
<TABLE>
<GRADES>
<STUDENT> Fred  </STUDENT>
<TEST1> 1 </TEST1>
<TEST2> 2 </TEST2>
<FINAL> 3 </FINAL>
</GRADES>
<GRADES>
<STUDENT> Wilma </STUDENT>
<TEST1> 1 </TEST1>
<TEST2> 2 </TEST2>
<FINAL> 3 </FINAL>
</GRADES>
</TABLE>
当我在不同的浏览器中读取这些文件时,我得到了错误:
第 4 行第 22 列的错误:xmlParseCharRef: invalid xmlChar value 1
我知道一个可能的解决方案是预处理原始文件,查找并替换导致错误的字符,但是有人知道解决此问题的其他方法吗?是否有任何支持 X; 字符集 (XX
【问题讨论】:
标签: xml xml-parsing