Парсер, отправь аргумент / получи xml (получи уже сделано / отправь нет) - PullRequest
0 голосов
/ 18 января 2011
public List<Afood> getFoodFromCat(String cat) {
    String resultado = "";
    List<Afood> list = new ArrayList<Afood>();

    try {
        URL xpto = new URL("http://10.0.2.2/webservice/nutrituga/get_food_by_cat.php");
        HttpURLConnection conn;

        conn = (HttpURLConnection) xpto.openConnection();
        conn.setDoInput(true);

        conn.connect();
        InputStream is = conn.getInputStream();

        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

        try {

            DocumentBuilder db = dbf.newDocumentBuilder();
            Document doc = db.parse(is);
            NodeList nl = doc.getElementsByTagName("item");

            // resultado = String.valueOf(nl.getLength());
            for (int i = 0; i < nl.getLength(); i++) {

                Node n = nl.item(i);

                Node childNode = n.getFirstChild();

                while (childNode != null) {

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

                        if (childNode.getNodeName().equalsIgnoreCase(
                                "NAME_FOOD")) {

                            Node valor = childNode.getFirstChild();
                            // resultado = resultado + valor.getNodeValue();
                            list.add(new Afood(valor.getNodeValue(), "",
                                    (int) Math.round(Math.random()), 1, 1,
                                    1, 1, 1, 1));
                        }
                    }
                    childNode = childNode.getNextSibling();
                }
            }
            return list;

        } catch (ParserConfigurationException e1) {
            e1.printStackTrace();
        } catch (SAXException e1) {
            e1.printStackTrace();
        } catch (IOException e1) {
            e1.printStackTrace();
        }
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return list;
}

У меня есть эта функция, которая получает XML и копирует его в список. Это хорошо реализовано. Что я хочу сделать, чтобы знать, это отправить категорию (которую я получаю в качестве аргумента функции) и получать только еду из этой категории.

Сервер готов получить категорию и отправить еду из этой категории.
Что мне нужно сделать, чтобы отправить категорию и получить правильный xml?

1 Ответ

0 голосов
/ 18 января 2011

Я думаю, что понял.
Все еще не проверял, но я думаю, единственное, что мне нужно сделать, это поместить кошку в URL.

Например: URL xpto =новый URL ("http://10.0.2.2/webservice/nutrituga/get_food_by_cat.php?cat="+cat);

Это правильно?

...