0

アラビア文字を含むエンコードされた XML 解析ファイルDOMから要素を取得しようとしています。以下のメソッドは、解析された xml 文字列を受け取り、ドキュメントを返すことになっています。UTF-8

xmlへのリンクは次のとおりです。

http://212.12.165.44:7201/UniNews121.xml

public Document getDomElement(String xml){

    Document doc = null;
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

    try {

        DocumentBuilder db = dbf.newDocumentBuilder();
        InputSource is = new InputSource();
        StringReader xmlstring=new StringReader(xml);
        is.setCharacterStream(xmlstring);
        is.setEncoding("UTF-8");
                    //APP CRASHES HERE
        doc = db.parse(is); 

    } catch (ParserConfigurationException e) {
        Log.e("Error: ", e.getMessage());
        return null;
    } catch (SAXException e) {
        Log.e("Error: ", e.getMessage());
        return null;
    } catch (IOException e) {
        Log.e("Error: ", e.getMessage());
        return null;
    }
    // return DOM
    return doc;
}

エラー:

09-18 13:36:20.031: E/Error:(3846): Unexpected token (position:TEXT xml version="1.0...@2:1 in java.io.InputStreamReader@4144ac08)

助けていただければ幸いですが、具体的な回答をお願いします

4

1 に答える 1

0

私には何度も起こりました。開いているファイルのエンコーディングを再確認する必要があります。エンコーディングを手動で設定したファイルのローカル コピーでこれをテストすることをお勧めします。

于 2012-09-18T14:03:54.530 に答える