2013-05-21 2 views
0

XML/HTML 페이지에서 데이터를 가져 오는 방법은 무엇입니까?자바를 사용하여 HTML 페이지에서 데이터를 가져 오는 방법은 무엇입니까?

나는 안드로이드 응용 프로그램을 만들고 싶습니다. 사용자는 학교 수업에 대한 알림을받습니다. 다음은 웹 사이트의 모습입니다. http://www.anony.ws/image/pC9

사용자는 앱 설치 후 학교 수업 (klas)을 작성합니다. 테이블에서 데이터를 선택하려는 경우 사용자가 클래스 인 경우 알림을 받아야합니다. (예 :. 그런

if (userClass == klas), then alert ("hey, " + was + " will be " + was + "because of" + opmerking); 

뭔가하지만 나는 테이블에서 데이터를 선택하는 방법을 몰라, 그것은 이상한 페이지의 IT가 더욱 어렵게 페이지에서 페이드 때문에 만듭니다 (1/2). (2/2) (각 페이지 당 최대 10 개의 목록, 따라서 50 개 목록 = 5 페이지) 예 : 여기를 찾아 http://suse.ghlyceum.nl/dagrooster/lwoo/ 데이터를 선택하여 java vars에 넣는 방법

코드 I의 예제 물건을 골라 내야합니다.

<tr class='list odd'> 
<td class="list" align="center">6V</td> 
<td class="list" align="center">5</td> 
<td class="list" align="center">fatl1</td> 
<td class="list" align="center">fatl1</td> 
<td class="list" align="center">MPs</td> 
<td class="list" align="center">MPs</td> 
<td class="list" align="center">D03</td> 
<td class="list" align="center">lokaal wissel</td> 

전체 웹 사이트 코드 :

<html> 
<head> 
<title>Roosterwijzigingen Locatie Rijnwoude</title> 
<meta http-equiv="expires" content="0"> 
<style type="text/css"> 
<!-- 

/* page title */ 
div.mon_title 
{ 
    font-weight: bold; 
    font-size: larger; 
} 

table.info 
{ 
    background-color: #FFB515; 
    border: 2px; 
    border-style:solid; 
} 

table.mon_list 
{ 
    background-color: #FFB515; 
    border: 2px; 
    border-style:solid; 
} 

td.info 
{ 
    font-size: 15px; 
    font-style: normal; 
    font-weight: 100; 
} 

th.list, 
td.list 
{ 
    background-color: #FFB515; 
    font-size: 19pt; 
    font-style: normal; 
    font-weight: 100; 
    border: 2px; 
    border-style:solid; 
} 

--> 
</style> 
<meta name="generator" content="Untis 2013"> 
<meta name="company" content="Gruber &amp; Petters Software, A-2000 Stockerau, Austria, www.grupet.at"> 
</head> 

<body bgcolor="#FEE9B1"> 
<CENTER> 
<TABLE align="bottom" cellspacing="3" cellpadding="2"> 
<TR> 
<TD align="bottom"> 
<font face="Verdana" size="6" color="#911083">Roosterwijzigingen</font> 
<br><font size="4" color="#000000" face="Arial">Vestiging Rijnwoude</font> 
</TD> 

<TD>&nbsp;</TD> 

<TD> 

<TABLE width="100%" cellspacing="2" cellpadding="2"> 
<tr> 
    <TD></TD> 
    <TD>   </TD> 
    <TD></TD> 
    <TD>   </TD> 
    <TD></TD> 
</TR> 
<TR> 
    <TD></TD> 
    <TD>   </TD> 
    <TD></TD> 
    <TD>   </TD> 
    <TD><font size="-2">Gewijzigd 16-5-2013 13:54</size></TD> 
</TR> 
</TABLE> 

</TD> 

</tr> 
</TABLE> 
<p> 

<font size="4" face="Arial"> 
<div class="mon_title">18-05-2013 Maandag</div> 
<table class="mon_list" > 
    <tr class='list'> 
     <th class="list" align="center">Klas</th> 
     <th class="list" align="center">uur</th> 
     <th class="list" align="center">was</th> 
     <th class="list" align="center">wordt</th> 
     <th class="list" align="center">was</th> 
     <th class="list" align="center">wordt</th> 
     <th class="list" align="center">Vaklokaal</th> 
     <th class="list" align="center">opmerking</th> 
    </tr> 



<tr class='list odd'> 
    <td class="list" align="center" style="background-color: #6f95d5">4H</td> 
    <td class="list" align="center" style="background-color: #6f95d5">5-6</td> 
    <td class="list" align="center" style="background-color: #6f95d5">nat1</td> 
    <td class="list" align="center" style="background-color: #6f95d5">---</td> 
    <td class="list" align="center" style="background-color: #6f95d5">MEn</td> 
    <td class="list" align="center" style="background-color: #6f95d5">---</td> 
    <td class="list" align="center" style="background-color: #6f95d5">---</td> 
    <td class="list" align="center" style="background-color: #6f95d5">aulauur</td> 
</tr> 

<tr class='list even'> 
    <td class="list" align="center">4V</td> 
    <td class="list" align="center">1</td> 
    <td class="list" align="center">econ3</td> 
    <td class="list" align="center">econ3</td> 
    <td class="list" align="center">SVn</td></td> 
    <td class="list" align="center">SVn</td> 
    <td class="list" align="center">310</td> 
    <td class="list" align="center">lokaal wissel</td> 

</tr> 

<tr class='list odd'> 
    <td class="list" align="center">6V</td> 
    <td class="list" align="center">5</td> 
    <td class="list" align="center">fatl1</td> 
    <td class="list" align="center">fatl1</td> 
    <td class="list" align="center">MPs</td> 
    <td class="list" align="center">MPs</td> 
    <td class="list" align="center">D03</td> 
    <td class="list" align="center">lokaal wissel</td> 

</tr> 

<tr class='list even'> 
    <td class="list" align="center" style="background-color: #6f95d5">6V</td> 
    <td class="list" align="center" style="background-color: #6f95d5">8</td> 
    <td class="list" align="center" style="background-color: #6f95d5">gs</td> 
    <td class="list" align="center" style="background-color: #6f95d5">---</td> 
    <td class="list" align="center" style="background-color: #6f95d5">NBa</td> 
    <td class="list" align="center" style="background-color: #6f95d5">---</td> 
    <td class="list" align="center" style="background-color: #6f95d5">---</td> 
    <td class="list" align="center" style="background-color: #6f95d5">aulauur</td> 
</tr> 

<tr class='list odd'> 
    <td class="list" align="center">6V</td> 
    <td class="list" align="center">7</td> 
    <td class="list" align="center">nat7</td> 
    <td class="list" align="center">nat7</td> 
    <td class="list" align="center">MEn</td> 
    <td class="list" align="center">JHo</td> 
    <td class="list" align="center">001</td> 
    <td class="list" align="center">het 6e of 8e uur</td> 
</tr> 


</table> 
<p> 
<font size="3" face="Arial"> 
Groene Hart Rijnwoude 
</font></font> 

</CENTER> 
<p><center><font face="Arial" size="2"><a href="http://www.grupet.at" target="_blank" >Untis roostersoftware</a></font></center> 
</body> 
</html> 
+0

체크 아웃 ... http://www.vogella.com/articles/AndroidXML/article.html – ASP

+0

광범위한 데이터를 얻으려면 javascript를 사용할 수 있습니다. 귀하의 경우 'mon_list'클래스 테이블. 그런 다음 xml 구문 분석을 사용하여 특정 데이터를 가져 와서 Java 변수에 저장할 수 있습니다. – Naveen

답변

0

XML 파서는 올바른 형식의 HTML 문서에서만 사용하십시오. 게시 한 HTML 문서 (잘 형식화 된 것 같지 않음)를 파싱하려면 JSoup을 사용하는 것이 좋습니다. 요리 책 소개를 읽고 몇 분 안에 갈 수 있으면 좋을 것입니다.

0

페이지 출력이 HTML 형식입니다. 그래서, 내 선호는 JSOUP을 사용하는 것입니다. 그것의 표준, 쉬운 및 당신이 그것을주는 HTML의 모든 부분을 잘라냅니다.

귀하의 안드로이드 프로젝트에는 JSOUP 라이브러리가 포함되어 있습니다. 응용 프로그램이 많은 HTML을 읽는 것처럼 보이기 때문에 비교적 크기가 적당하고 노력할 가치가 있습니다.

public static void main(String[] args) throws Exception { 
    // Get The Site and Parse it 
    Document doc = Jsoup.connect("http://suse.ghlyceum.nl/dagrooster/lwoo/").get(); 
    // Select Table 
    Element table = document.select(".mon_list").first(); 

    Iterator<Element> lines = table.select("tr").iterator(); 
    while (lines.hasNext()) { 
     Element line = lines.next(); 
     System.out.println("TD text : "+line.text()); 
    } 
} 

이것은 자바 코드입니다. 따라서 기존 Android 코드와 함께이 코드를 사용하여 코드에 표시된대로 콘솔에 출력하지 않고 목록 요소를 채우고보기에 표시 할 수 있습니다.

0
  URL url = new URL("http://facebook.com"); 
     in = new BufferedReader(new InputStreamReader(url.openStream())); 
     String inputLine; 
     while ((inputLine = in.readLine()) != null) 
      { 
      System.out.println(inputLine); 
      } 

시작하기에 충분해야합니다.

관련 문제