2014-06-25 170 views
0

`讀取XML數據

<microgame> 
    <gamename>Thunderstruck2</gamename> 
    <gametype>Bonus Slot</gametype> 
    <imagename>/images/microgame/thunderstruck2.png</imagename> 
    <provider>Microgame</provider> 
    <sequence>4</sequence> 
    </microgame> <microgame> 
    <gamename>TombRaider</gamename> 
    <gametype>Bonus Slot</gametype> 
    <imagename>/images/microgame/tomb-raider.png</imagename> 
    <provider>Microgame</provider> 
    <sequence>5</sequence> 
    </microgame> <microgame> 
    <gamename>Cashapillar</gamename> 
    <gametype>Video Slot</gametype> 
    <imagename>/images/microgame/cashapillar.png</imagename> 
    <provider>Microgame</provider> 
    <sequence>1</sequence> 
    </microgame> 

`

所以我的問題是,我想要得到的imagename根據序列,例如像如果sequence = 1,那麼我應該得到/images/microgame/cashapillar.png,如果sequence = 5,那麼/images/microgame/tomb-raider.png等等。

請任何人都可以幫我解決這個問題,我一直在爲此編寫代碼,但沒有按照順序得到答案。如果有人能幫我完成,我會很感激。謝謝

+1

相應image'我一直在寫這個代碼,但沒有得到答案,因爲每個sequence' ..你能不能也發佈您的代碼。 – sunbabaphu

回答

0

..用顯示錶序列號。imgname

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();  
DocumentBuilder db = dbf.newDocumentBuilder();  
Document doc = db.parse("../.../name.xml");  
NodeList imgN = doc.getElementsByTagName("imagename"); 
NodeList seq = doc.getElementsByTagName("sequence"); 
%>  
<html> 
    <head> 
     <title>Imagename vs Sequence</title> 
    </head>  
    <body> 
     <table border="1"> 
      <% 
     ArrayList<String[]> listX=new ArrayList<String[]>(); 
     for(int i=0;i<=seq.getLength()-1;i++) 
     { 
      listX.add(new String[]{imgN.item(i).getFirstChild().getNodeValue(), seq.item(i).getFirstChild().getNodeValue()}); 
     } 

     Collections.sort(listX, new Comparator<String[]>() { 
       public int compare(String[] first, String[] second) { 
        return (Integer.parseInt(first[1]) < Integer.parseInt(second[1])) ? -1: (Integer.parseInt(first[1]) > Integer.parseInt(second[1])) ? 1:0 ; 
        } 
       }); 

      for(int i=0;i<=listX.size()-1;i++) { 
       String[] s=listX.get(i); 
     %> 
       <tr> 
        <td> 
         <img src="<%= s[0] %>" /> 
        </td> 
        <td> 
         <%= s[1]%> 
        </td> 
       </tr> 
       <% 
     } 
     %> 
     </table> 
    </body> 
</html> 
+0

好的,但是「seq_no」指的是什麼?它給出了一個錯誤... – Rose

+0

好的..'seq_no'是用戶在.html頁面輸入的值。這個頁面有一個**提交**操作來輸入序列號。到jsp,它依次顯示xml中相應的'imagename'。 讓我編輯我的答案,它會更清晰.. – sunbabaphu

+0

亞非常感謝你,但我的要求是,我從URL獲取xml文件,而且我只能使用序列號顯示圖像。沒有任何HTML輸入。只需要在html中處理xml和顯示圖像文件。就是這樣... – Rose