2012-05-21 223 views
0

我想使用nodelist從XML文件中檢索數據,但問題是我有圖像屬性,它是增量如何獲得此屬性如何訪問此 這裏即將放置我的xml文件 ,這樣你們可以容易理解如何訪問從nodelist中增加by1的childnode android

看到這裏,以1在此增加有PHOTO_URL圖像屬性我想訪問艾德里安如何訪問PHOTO_URL

my.xml

<?xml version="1.0"?> 
<datas> 
<places> 
<place_name>newyork,us</place_name> 
<images> 
<image1> 
    <image_id>3</image_id> 
    <photo_url>http://192.168.1.21/pictastic/Application/uploads76/1337004413.jpg</photo_url> 
    <image_url>http://192.168.1.21/pictastic/Application/uploads/1337004413.jpg</image_url> 
    </image1> 
<image2> 
    <image_id>4</image_id> 
    <photo_url>http://192.168.1.21/pictastic/Application/uploads76/1337004534.jpg</photo_url> 
    <image_url>http://192.168.1.21/pictastic/Application/uploads/1337004534.jpg</image_url> 
</image2> 
<image3> 
    <image_id>5</image_id> 
    <photo_url>http://192.168.1.21/pictastic/Application/uploads76/1337006024.jpg</photo_url> 
    <image_url>http://192.168.1.21/pictastic/Application/uploads/1337006024.jpg</image_url> 
</image3> 
</images> 
</places> 
<places> 
<place_name>newzeland,abc</place_name> 
<images> 
<image1> 
    <image_id>2</image_id> 
    <photo_url>http://192.168.1.21/pictastic/Application/uploads76/1337004360.jpg</photo_url> 
    <image_url>http://192.168.1.21/pictastic/Application/uploads/1337004360.jpg</image_url> 
</image1> 
<image2> 
    <image_id>46</image_id> 
<photo_url>http://192.168.1.21/pictastic/Application/uploads76/1337004360.jpg</photo_url> 
    <image_url>http://192.168.1.21/pictastic/Application/uploads/1337004360.jpg</image_url> 
</image2> 
</images> 
    </places> 
    <places> 
    <place_name>5, 7</place_name> 
    <images> 
    <image1> 
     <image_id>42</image_id> 
     <photo_url>http://192.168.1.21/pictastic/Application/uploads76/1337057023.jpg</photo_url> 
     <image_url>http://192.168.1.21/pictastic/Application/uploads/1337057023.jpg</image_url> 
    </image1> 
     </images> 
      </places> 

myactivity.java

 XMLParser parser = new XMLParser(); 
    String xml = parser.getXmlFromUrl(XURL); // getting XML 
    Document doc = parser.getDomElement(xml); // getting DOM element 
    NodeList nl = doc.getElementsByTagName(KEY_PLACES); 
    NodeList nplacename=doc.getElementsByTagName(KEY_PLACENAME); 
    NodeList nimages=doc.getElementsByTagName(KEY_IMAGES); 
    NodeList nimage=doc.getElementsByTagName(KEY_IMAGE); 
    NodeList nimageid=doc.getElementsByTagName(KEY_IMAGEID); 
    NodeList nimageurl=doc.getElementsByTagName(KEY_IMAGEURL); 
    public void imageload() 
{ 
    ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); 
    // looping through all item nodes <item> 
    HashMap<String, String> map = new HashMap<String, String>(); 


    for (int i = 0; i < nl.getLength(); i++) 
    { 
     if(nl.item(i).getNodeType()==Node.ELEMENT_NODE) 
     {   
     NodeList nimages = nl.item(i).getChildNodes(); 
     Element e = (Element) nl.item(i); 

     map.put(KEY_PLACENAME, parser.getValue(e, KEY_PLACENAME)); 

     for(int j = 0; j < nimages.getLength(); j++) 
     { 
      if (nimages.item(j).getNodeType() == Node.ELEMENT_NODE) 
      {   
       //NodeList nimage=nimages.item(j).getChildNodes(); 
       Element eimages = (Element)nimages.item(j); 
       map.put(KEY_IMAGEURL, parser.getValue(e, KEY_IMAGEURL)); 
       Log.e("Nimage","Nimage"+nimage); 
       mylist.add(map); 
       Log.e("Mylist","Format----->"+mylist); 

        for(int k=0;k<nimage.getLength();k++) 
        { 
         Log.e("Nimage","Nimage"+nimage.getLength()); 
         nimage.getLength(); 
         Log.e("Nimage","Nimage"+nimage.getLength()); 
         if (nimage.item(k).getNodeType() == Node.ELEMENT_NODE) 
         { 
         // NodeList nimageurl=nimage.item(k).getChildNodes(); 
          Element eimage=(Element)nimage.item(k); 
          map.put(KEY_IMAGEURL, parser.getValue(e, KEY_IMAGEURL)); 
          mylist.add(map); 
         } 

        } 

       } 

      } 
     } 
     mylist.add(map); 
     } 

但是當我訪問,這是給我的錯誤輸出

在日誌貓我打印此

logcat的輸出

05-21 11:49:36.357: D/dalvikvm(669): GC_FOR_MALLOC freed 3480 objects/203712 bytes in 46ms 
05-21 11:49:36.417: E/Nimage(669): [email protected] 
05-21 11:49:36.417: E/Mylist(669): Format----->[{photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004413.jpg, place_name=1, 4}] 
05-21 11:49:36.417: E/Nimage(669): [email protected] 
05-21 11:49:36.417: E/Mylist(669): Format----->[{photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004413.jpg, place_name=1, 4}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004413.jpg, place_name=1, 4}] 
05-21 11:49:36.417: E/Nimage(669): [email protected] 
05-21 11:49:36.427: E/Mylist(669): Format----->[{photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004360.jpg, place_name=2, 4}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004360.jpg, place_name=2, 4}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004360.jpg, place_name=2, 4}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004360.jpg, place_name=2, 4}] 
05-21 11:49:36.427: E/Nimage(669): [email protected] 
05-21 11:49:36.427: E/Mylist(669): Format----->[{photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004360.jpg, place_name=2, 4}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004360.jpg, place_name=2, 4}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004360.jpg, place_name=2, 4}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004360.jpg, place_name=2, 4}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004360.jpg, place_name=2, 4}] 
05-21 11:49:36.427: E/Nimage(669): [email protected] 
05-21 11:49:36.427: E/Mylist(669): Format----->[{photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337057023.jpg, place_name=5, 7}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337057023.jpg, place_name=5, 7}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337057023.jpg, place_name=5, 7}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337057023.jpg, place_name=5, 7}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337057023.jpg, place_name=5, 7}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337057023.jpg, place_name=5, 7}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337057023.jpg, place_name=5, 7}] 
05-21 11:49:36.427: E/Nimage(669): Nimageorg.apache.harmony.xml.dom.NodeListI[email protected] 
05-21 11:49:36.438: E/Mylist(669): Format----->[{photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337057023.jpg, place_name=5, 7}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337057023.jpg, place_name=5, 7}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337057023.jpg, place_name=5, 7}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337057023.jpg, place_name=5, 7}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337057023.jpg, place_name=5, 7}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337057023.jpg, place_name=5, 7}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337057023.jpg, place_name=5, 7}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337057023.jpg, place_name=5, 7}] 
05-21 11:49:36.438: E/Nimage(669): [email protected] 
05-21 11:49:36.438: E/Mylist(669): Format----->[{photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}] 
05-21 11:49:36.438: E/Nimage(669): [email protected] 
05-21 11:49:36.447: E/Mylist(669): Format----->[{photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337034609.jpg, place_name=Denmark, Eu}] 
05-21 11:49:36.447: E/Nimage(669): [email protected] 
05-21 11:49:36.457: E/Mylist(669): Format----->[{photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}] 
05-21 11:49:36.457: E/Nimage(669): [email protected] 
05-21 11:49:36.477: E/Mylist(669): Format----->[{photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}] 
05-21 11:49:36.477: E/Mylist(669): Format----->[{photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}, {photo_url=http://192.168.1.21/pictastic/Application/uploads76/1337004257.jpg, place_name=Ahmadabad, IN}] 

回答

0

更好的解決方案是在表單中使用更清晰的XML ...... 在這種情況下,您將能夠像XStream一樣使用pull paerser和數據綁定來輕鬆地將您的xml轉換爲java bean。

如果修復XML結構不是一個選項,您可以將來自節點 的所有子節點與node.getChildNodes()合併,並按類型和名稱過濾此列表。

PS:XML解析usind DOM是如此的00 - 我們現在拉解析其consimes少得多 記憶,更容易hanldle

+0

如果u有這樣我就可以完全理解這是關係到你的答案的任何教程鏈接我不明白你想告訴我什麼 – Sunny

+0

互聯網上有很多噸。你可以從http://xstream.codehaus.org開始 –

相關問題