2011-01-17 32 views
0

我有这段代码,但吐司不会显示任何消息我的代码有什么问题..我可以从链接,linknext获得值,但title不会带出任何值。 (我不是很明亮,编写代码,请建议任何你可能会觉得像。解析XML不会显示所有项目

 final Button button = (Button) findViewById(R.id.Button01); 
    button.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      // Perform action on click 


      try { 

       URL url = new URL(
         "http://somelink.com=" + Link.setFirst_link); 
       DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
       DocumentBuilder db = dbf.newDocumentBuilder(); 
       Document doc = db.parse(new InputSource(url.openStream())); 
       doc.getDocumentElement().normalize(); 

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

       /** Assign textview array lenght by arraylist size */ 



       for (int i = 0; i < nodeList.getLength(); i++) { 

        Node node = nodeList.item(i); 


        Element fstElmnt = (Element) node; 
        NodeList nameList = fstElmnt.getElementsByTagName("link"); 
        Element nameElement = (Element) nameList.item(0); 
        nameList = nameElement.getChildNodes(); 
        String img = (((Node) nameList.item(0)).getNodeValue()); 

        NodeList websiteList = fstElmnt.getElementsByTagName("linknext"); 
        Element websiteElement = (Element) websiteList.item(0); 
        websiteList = websiteElement.getChildNodes(); 
        String nextlink = (((Node) websiteList.item(0)).getNodeValue()); 
        Link.setFirst_link = nextlink; 
        Drawable drawable = LoadImageFromWebOperations(img); 
        imgView.setImageDrawable(drawable); 

        NodeList titleList = fstElmnt.getElementsByTagName("title"); 
        Element titleElement = (Element) titleList.item(0); 
        websiteList = titleElement.getChildNodes(); 
        String title = (((Node) titleList.item(0)).getNodeValue()); 

        Context context = getApplicationContext(); 
        CharSequence text = title; 
        int duration = Toast.LENGTH_SHORT; 

        Toast toast = Toast.makeText(context, text, duration); 
        toast.show(); 

       } 
      } catch (Exception e) { 
       System.out.println("XML Pasing Excpetion = " + e); 
      } 



     } 
    }); 


    /** Set the layout view to display 

*/ }

这里是xml文件

<?xml version="1.0"?> 
<maintag> 
    <item> 
    <link>http://image.com/357769.jpg?40</link> 
    <linknext>http://www.image.com</linknext> 
    <title>imagename</title> 
    </item> 
</maintag> 

回答

1
Element titleElement = (Element) titleList.item(0); 
titleList = titleElement.getChildNodes();   // <<< here you wrote websiteList instead (copy & paste error I think ;) 
+0

是不会工作 – nomie

+0

为什么你认为这不起作用?你有错误吗? – lweller

+0

你可以使用[Simple XML](http://www.google.ru/url?sa=t&source=web&cd=2&ved=0CCQQFjAB&url= HTTP:// SI mple.sourceforge.net/&ei=o2nvTbPJHMKe-QaTsrmECA&usg=AFQjCNE40FfELo6ftmZBNkdIi9a-W5QIzQ&sig2=VFd2mp8YdqVBSD-pmEwsvw)读取对象中的xml文件,修改其状态并将其写回。使用这个库。它将完成所有解析工作并将响应作为对象返回,以便您可以轻松处理它们。 –