解析器,发送参数/接收xml(已经完成接收/不发送)

时间:2011-01-18 01:40:20

标签: android http http-post xml-parsing http-get

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 :(得分:0)

我想我已经明白了。
仍然没有经过测试,但我认为我唯一需要做的就是将猫放入网址。

例如:URL xpto =新网址(“http://10.0.2.2/webservice/nutrituga/get_food_by_cat.php?cat=”+ cat);

这是对的吗?