2008-11-06 84 views
2

我已经通过扩展默认处理程序在Java中实现了一个SAX解析器。 XML在其内容中有一个“ - ”。当它击中这个角色时就会破裂。我在字符方法中打印出字符数组,它只是以字符之前的字符结尾。解析器似乎在此之后停止,因为即使仍然有更多内容,也不会调用其他方法。即endElement方法永远不会再被调用。有没有人遇到过这个问题或有任何建议如何处理它?SAX解析器破坏 -

回答

4

什么是文件的编码?确保文件的编码decloration匹配它。您的解析器可能默认为ascii或ISO-8859-1。您可以设置像这样

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

UTF-8将覆盖该字符,只要确保这就是该文件其实是英寸

3

如果要保存您的个XML的ASCII,你只能使用编码8位字符表的下半部分(前128个字符)。要在XML中包含重音或其他非英文字符,您必须将您的XML保存为UTF-8格式或转义您的字符,如&#241;为ñ。

0

我遇到了这个问题。您正在输入的XML流必须以ascii读取,在代码中将ascii编码为'UTF-8'或将其更改为字符流,并且一切正常。

这样的事情会帮助你:

File F = new File(C://Location); 
BuffeReader Readfile = new BufferReader(F); 
InputSource Encode = new InputSource(Readfile); 
Encode.setEncoding("UTF-8");