2012-10-14 30 views
0

我想從下面的Web服務獲取描述,供應商和價格。 [鏈接] http://sagt.vizushop.com/DefaultSimple.aspx?command=item_price&id=11閱讀Java中的Web服務

響應如下

<item_details> 
<description> 
Jakl (Kumbuk) Center Table Timber : Mahogany/Rubber 
</description> 
<price>12600</price> 
<vendor>BLUE</vendor> 
</item_details> 

我試圖用下面的例子,但它不工作-給出了變量空值。

   String vendor=""; 
       String price=""; 
       String description=""; 
       try { 

        URL url = new URL("http://sagt.vizushop.com/DefaultSimple.aspx?command=item_price&id=11"); 
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
        DocumentBuilder db = dbf.newDocumentBuilder(); 
        Document doc = db.parse(new InputSource(url.openStream())); 
        doc.getDocumentElement().normalize(); 

        NodeList nodeList = doc.getElementsByTagName("description"); 
        //description=nodeList.item(0).getNodeValue(); 
        Node node = nodeList.item(0); 

        description = node.getNodeValue(); 


        Log.v(TAG, description); 
       } 

回答

1

如果有人需要這個答案。

     URL url = new URL("http://sagt.vizushop.com/DefaultSimple.aspx?command=item_price&id=11"); 
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
        DocumentBuilder db = dbf.newDocumentBuilder(); 
        Document doc = db.parse(new InputSource(url.openStream())); 
        doc.getDocumentElement().normalize(); 

        NodeList nodeList = doc.getElementsByTagName("item_details"); 

        Node node=nodeList.item(0); 

        Element fstElmnt = (Element) node; 
        NodeList idList = fstElmnt.getElementsByTagName("price"); 
        Element idElement = (Element) idList.item(0); 
        idList = idElement.getChildNodes(); 
        price=((Node) idList.item(0)).getNodeValue(); 

        Element secondElmnt = (Element) node; 
        NodeList vdList = secondElmnt.getElementsByTagName("vendor"); 
        Element vdElmnt = (Element) vdList.item(0); 
        vdList = vdElmnt.getChildNodes(); 
        vendor=((Node) vdList.item(0)).getNodeValue(); 


        Element lastElemnt = (Element) node; 
        NodeList desList = lastElemnt.getElementsByTagName("description "); 
        Element desElmnt = (Element) desList.item(0); 
        desList = desElmnt.getChildNodes(); 
        description=((Node) desList.item(0)).getNodeValue();