2014-06-25 201 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