1

私はいくつかのXMLを解析しようとしましたDocumentBuilder.Parse:

    try 
    {
        HttpClient httpClient = new DefaultHttpClient();
        HttpContext localContext = new BasicHttpContext();
        HttpPost httpPost = new HttpPost(url);
        HttpResponse response = httpClient.execute(httpPost, localContext);
        InputStream in = response.getEntity().getContent();
        DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
        Document doc = builder.parse(in);
        return doc;
    } 
    catch (Exception e) 
    {
        e.printStackTrace();
    }

これは Eclipse で正常に動作し、Document.

ただし、IntelliJ IDEA で実行すると、コードがヒットDocument doc = builder.parse(in);し、try/catch 全体をスキップして、try/catch の直後の return null(またはそこにあるコード) に直接スキップします。

例外をスローせず、単に失敗する理由を示しません。

なぜこれが起こるのか誰にも分かりますか?Eclipseには戻りたくない

編集 - デモンストレーション:

        try {
        HttpClient httpClient = new DefaultHttpClient();
        HttpContext localContext = new BasicHttpContext();
        HttpPost httpPost = new HttpPost(url);
        HttpResponse response = httpClient.execute(httpPost, localContext);
        InputStream in = response.getEntity().getContent();
        DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
        Document doc = builder.parse(in); //if we step through to here, this line executes then goes directly to "x" below
        return doc;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null; //x

また、エラーをキャッチするために次を追加しようとしましたが、これらのどれもヒットしませんでした:

            builder.setErrorHandler(new ErrorHandler() {
            @Override
            public void error(SAXParseException arg0) throws SAXException
            {
                throw arg0;
            }

            @Override
            public void fatalError(SAXParseException arg0) throws SAXException
            {
                throw arg0;
            }

            @Override
            public void warning(SAXParseException arg0) throws SAXException
            {
                throw arg0;
            }
        });

編集 2: インポート

import java.io.InputStream;
import java.util.ArrayList;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.HttpContext;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import com.google.android.gms.maps.model.LatLng;

import android.content.Context;
import android.util.Log;
4

1 に答える 1