Не могу разобрать XML с DOM в Android - PullRequest
0 голосов
/ 25 ноября 2011

У меня возникли проблемы с анализом XML в Android по URL. Я не знаю, является ли проблема разбором XML или только когда я пытаюсь показать его на экране, потому что

setListAdapter(new ArrayAdapter<String>(ANDROIDXMLActivity.this, android.R.layout.simple_list_item_1, stopNumbers)); 

ничего не покажет. Приведенный ниже код отлично работает в Java-программе.

URL: http://maps.travelsouthyorkshire.com/iGNMSearchService.asmx/FindObjectsWithinExtent?xMin=435360&yMin=387260&xMax=435960&yMax=387860&zoomLevel=0

    try {
        ArrayList<Double> xCords = new ArrayList<Double>();
        ArrayList<Double> yCords = new ArrayList<Double>();
        ArrayList<String> stopNumbers = new ArrayList<String>();
        ArrayList<String> bussLocations = new ArrayList<String>();
        DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory
                .newInstance();
        DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
        Document doc = docBuilder
                .parse(new URL(
                        "http://maps.travelsouthyorkshire.com/iGNMSearchService.asmx/FindObjectsWithinExtent?xMin=435360&yMin=387260&xMax=435960&yMax=387860&zoomLevel=0")
                        .openStream());

        // normalize text representation
        doc.getDocumentElement().normalize();
        NodeList listOfObjects = doc.getElementsByTagName("iGNMObject");
        for (int s = 0; s < listOfObjects.getLength(); s++) {
            Node firstPersonNode = listOfObjects.item(s);

            if (firstPersonNode.getNodeType() == Node.ELEMENT_NODE) {

                Element firstPersonElement = (Element) firstPersonNode;
                NodeList stopNumList = firstPersonElement
                        .getElementsByTagName("StopNumber");
                Element ageElement = (Element) stopNumList.item(0);
                if (ageElement != null) {
                    NodeList textAgeList = ageElement.getChildNodes();

                    String stop = ((Node) textAgeList.item(0))
                            .getNodeValue().trim();
                    stopNumbers.add(stop);

                    // ------
                    // -------
                    NodeList xPosList = firstPersonElement
                            .getElementsByTagName("XPosition");
                    Element firstNameElement = (Element) xPosList.item(0);
                    NodeList textFNList = firstNameElement.getChildNodes();

                    String temp2 = ((Node) textFNList.item(0))
                            .getNodeValue().trim();
                    double x = Double.parseDouble(temp2);
                    xCords.add(x);

                    // -------
                    NodeList yPosList = firstPersonElement
                            .getElementsByTagName("YPosition");
                    Element lastNameElement = (Element) yPosList.item(0);
                    NodeList textLNList = lastNameElement.getChildNodes();
                    String temp3 = ((Node) textLNList.item(0))
                            .getNodeValue().trim();
                    double y = Double.parseDouble(temp3);
                    yCords.add(y);

                    // ----

                    NodeList stopAkaList = firstPersonElement
                            .getElementsByTagName("StopAka");
                    Element stopAka = (Element) stopAkaList.item(0);
                    NodeList textStopAKAList = stopAka.getChildNodes();
                    String plats = ((Node) textStopAKAList.item(0))
                            .getNodeValue().trim();
                    bussLocations.add(plats);
                } else {

                }

            }// end of if clause
        }// end of for loop with s var

        setListAdapter(new ArrayAdapter<String>(ANDROIDXMLActivity.this,
                android.R.layout.simple_list_item_1, stopNumbers));

    } catch (Exception e) {

    }

}

} } * +1010 *

1 Ответ

0 голосов
/ 26 ноября 2011

Решил это.Я забыл добавить интернет-разрешение в манифест.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...