我对android开发有疑问 当我想使用xmlpullparser解析带有一些中文字符的xml文件时,结果会显示一些问号符号。我不知道。我在google中找到了一些结果,可以通过添加utf-8字符串来解决。但是,它似乎对我的程序不起作用,任何人都可以帮助我吗?? :(
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 :(得分:0)
我可以看到你正在使用Pull Parser,但我认为你在调用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