Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android Studio忽略了一些断点,而其他断点可以工作_Java_Android_Xml_Android Studio_Xml Parsing - Fatal编程技术网

Java Android Studio忽略了一些断点,而其他断点可以工作

Java Android Studio忽略了一些断点,而其他断点可以工作,java,android,xml,android-studio,xml-parsing,Java,Android,Xml,Android Studio,Xml Parsing,在androidstudio中,我想用断点分析我的变量,但是其中一些被忽略了,而另一些可以工作。我不知道为什么。 我对以下方法的变量特别感兴趣。 你知道为什么调试器会忽略其中的断点吗 private Entry readEntry(XmlPullParser parser) throws XmlPullParserException, IOException { parser.require(XmlPullParser.START_TAG, ns, "searchresults");

在androidstudio中,我想用断点分析我的变量,但是其中一些被忽略了,而另一些可以工作。我不知道为什么。 我对以下方法的变量特别感兴趣。 你知道为什么调试器会忽略其中的断点吗

private Entry readEntry(XmlPullParser parser) throws XmlPullParserException, IOException {
    parser.require(XmlPullParser.START_TAG, ns, "searchresults");
    String longitude = null;
    String latitude = null;
    String place_id = null;
    while (parser.next() != XmlPullParser.END_TAG) {
        if (parser.getEventType() != XmlPullParser.START_TAG) {
            continue;
        }
        String name = parser.getName();
        if (name.equals("place")) {
            longitude = readLongitude(parser);
            latitude = readLatitude(parser);
            place_id = readPlace_id(parser);
        } else {
            skip(parser);
        }
    }
    return new Entry(longitude, latitude, place_id);
}
正如您可能猜到的,我正在尝试在异步任务中解析XML文档,这是其中的一步。我试图找出我在解析此xml文档时的错误:

<searchresults timestamp="Fri, 26 Aug 16 10:38:53 +0000" attribution="Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright" querystring="warmbandwerk" polygon="false" exclude_place_ids="129799074,151481629" more_url="http://open.mapquestapi.com/nominatim/v1/search?format=xml&exclude_place_ids=129799074,151481629&accept-language=de,en-US;q=0.7,en;q=0.3&q=warmbandwerk">
<place place_id="129799074" osm_type="way" osm_id="220625788" place_rank="30" boundingbox="51.4947849,51.497683,6.7382846,6.746241" lat="51.49646145" lon="6.74226302912559" display_name="Warmbandwerk 1, Kaiser-Wilhelm-Straße, ThyssenKrupp Steel Europe AG, Hamborn, Duisburg, Regierungsbezirk Düsseldorf, Nordrhein-Westfalen, 47166, Deutschland" class="building" type="yes" importance="0.101"/>
<place place_id="151481629" osm_type="relation" osm_id="2917388" place_rank="30" boundingbox="51.4860521,51.4891516,6.7050164,6.7144352" lat="51.48741265" lon="6.70882226405504" display_name="Warmbandwerk 2, Werkstraße 1, ThyssenKrupp Steel Europe AG, Beeckerwerth, Meiderich/Beeck, Duisburg, Regierungsbezirk Düsseldorf, Nordrhein-Westfalen, 47139, Deutschland" class="building" type="yes" importance="0.101"/>
</searchresults>

编辑:因为有人问哪些断点不起作用。在上述方法中,它们都不起作用。在下面的方法中,它们都工作到for语句。for语句和返回断点被忽略

    private String loadXmlFromNetwork(String urlString) throws XmlPullParserException, IOException {
    InputStream stream = null;
    // Instantiate the parser
    XMLParser XMLParser = new XMLParser();
    List<XMLParser.Entry> entries = null;

    StringBuilder htmlString = new StringBuilder();
    htmlString.append("<h3>" + getResources().getString(R.string.page_title) + "</h3>");
    htmlString.append("<em>" + getResources().getString(R.string.updated));

    try {
        stream = downloadUrl(urlString);
        entries = XMLParser.parse(stream);
        // Makes sure that the InputStream is closed after the app is
        // finished using it.
    } finally {
        if (stream != null) {
            stream.close();
        }
    }

    // StackOverflowXmlParser returns a List (called "entries") of Entry objects.
    // Each Entry object represents a single post in the XML feed.
    // This section processes the entries list to combine each entry with HTML markup.
    // Each entry is displayed in the UI as a link that optionally includes
    // a text summary.
    for (XMLParser.Entry entry : entries) {
        htmlString.append("<p><a href='");
        htmlString.append(entry.longitude);
        htmlString.append(entry.latitude);
        htmlString.append(entry.place_id);
    }

    return htmlString.toString();
}
私有字符串loadXmlFromNetwork(字符串urlString)抛出XmlPullParserException,IOException{
InputStream=null;
//实例化解析器
XMLParser XMLParser=新的XMLParser();
列表条目=空;
StringBuilder htmlString=新的StringBuilder();
附加(“+getResources().getString(R.string.page_title)+”);
追加(“+getResources().getString(R.string.updated));
试一试{
stream=下载URL(urlString);
entries=XMLParser.parse(流);
//确保在应用程序启动后关闭InputStream
//用完了。
}最后{
if(流!=null){
stream.close();
}
}
//StackOverflowXmlParser返回条目对象的列表(称为“条目”)。
//每个条目对象表示XML提要中的一篇文章。
//本节处理条目列表,以将每个条目与HTML标记相结合。
//每个条目在UI中显示为一个链接,可选地包括
//文本摘要。
for(XMLParser.Entry:entries){

追加(“哪些断点”不起作用"?为什么不把断点放在它工作的地方,然后进入下一行代码,直到你到达你想要的地方?通常情况下,当断点没有到达它的位置时,因为代码流没有进入那个逻辑元素。@Kon我编辑了我的问题,因为你问的问题。我怀疑是异常导致它跳出整个代码块。你能检查一下吗如果在您提到的情况下引发异常?就在for循环之前,由于循环和if语句中的条件,某些代码行无法到达。您可以将断点放在方法的第一行,然后按
F8
逐行移动。