2014-06-25 3 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로부터도 입력이 없습니다. xml을 처리하고 이미지 파일을 html로 표시하면됩니다. 그게 다야 ... – Rose