2011-08-27 25 views
5

Tôi đang cố tải tệp xml từ liên kết url. Mã này dành cho Android. Tôi đang sử dụng SAXParser để thực hiện. nhưng tôi có lỗi:có lỗi với saxParser trên android (không được định dạng đúng (mã thông báo không hợp lệ))

org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 87: not well-formed (invalid token) 

trên dòng này

saxParser.parse(url.openStream(),handler); 

mã của tôi là:

URL url = null; 

try { 
    url = new URL("toryRss1854.xml"); 
} catch (MalformedURLException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
SAXParserFactory factory = SAXParserFactory.newInstance(); 
SAXParser saxParser = null; 
try { 
    saxParser = factory.newSAXParser(); 
    saxParser.parse(url.openStream(),handler); 

Có thể làm gì?

Trả lời

4

Vấn đề có vẻ là XML mà bạn đang cố gắng phân tích cú pháp không phải là UTF-8, do đó bạn cần phải thông báo cho SAX mã hóa nào cần sử dụng.

một cái gì đó như thế này nên làm việc (mặc dù chưa được thử nghiệm này)

InputSource is = new InputSource(url.openStream()); 
is.setEncoding("Cp1255"); 
parser.parse(is, handler); 
Các vấn đề liên quan