2012-11-08 32 views
0

当我想使用xmlpullparser解析某些中文字符的xml文件,但结果显示一些问号符号时,我对Android开发 有疑问。我不知道这件事。我在谷歌中找到了一些结果,这是通过添加utf-8字符串解决的。然而,似乎不是我的程序工作,任何人都可以帮我?:(如何在android中使用xmlpullparser解析中文字符

protected ArrayList<ExerciseList> doInBackground(String... urls) { 
     ArrayList<ExerciseList> exercises =null; 
       try 
       { 
        URL url = new URL("http://.../viewexercise_test.xml"); 
        ExerciseList_parser exerciselist_parser = new ExerciseList_parser(); 
        InputStream is = url.openStream(); 
        Reader reader = new InputStreamReader(is,"UTF-8"); 

        exerciselist_parser.parse(is); 
        exercises = exerciselist_parser.getExercise(); 
       } 
       catch(Exception e) 
       { 
        System.out.print(e); 
       } 

     return exercises; 

    } 

下面是解析器代码

public void parse(InputStream in) throws XmlPullParserException, IOException { 
     try { 
      XmlPullParser parser = Xml.newPullParser(); 
      parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false); 
      parser.setInput(in, "utf-8"); 
      parser.nextTag(); 
      readFeed(parser); 

     } finally { 
      in.close(); 

     } 
    } 

回答

0

我可以看到你正在使用的pull解析器,但我认为你听错了关于调用UTF

嗯,这是一个使用DOM我的代码,但逻辑仍然存在

HttpResponse response = client.execute(request); 
... // probably some other code to check for HTTP response status code 
HttpEntity responseEntity = response.getEntity(); 
String xml = EntityUtils.toString(responseEntity, HTTP.UTF_8); 

您确定它是utf-8并且您是否尝试过URLDecoder.decode

+0

我可以将其更改为我的java代码吗? – user1494052

相关问题