0
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 を受信するにはどうすればよいですか?

4

1 に答える 1

0

私はそれを理解したと思います。
まだテストしていませんが、私がしなければならない唯一のことは、猫をURLに入れることだと思います.

例: URL xpto = new URL("http://10.0.2.2/webservice/nutrituga/get_food_by_cat.php?cat="+cat);

これは正しいです?

于 2011-01-18T02:24:53.957 に答える