【问题标题】:How to parse Chinese character in android using xmlpullparser如何使用xmlpullparser解析android中的汉字
【发布时间】:2012-10-28 07:52:38
【问题描述】:

我有关于 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();

        }
    }

【问题讨论】:

    标签: android xmlpullparser


    【解决方案1】:

    我可以看到您正在使用 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-15
      • 1970-01-01
      • 1970-01-01
      • 2020-05-21
      • 2016-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多