2008-11-06 93 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");