안드로이드 개발 질문/답변
(글 수 45,052)
아래와 같은 HTML태그가 있습니다.
jericho 파서를 이용해서 <nobr>태그 찾아내 뽑아내고
그 하위 태그인 <a>와 <img>태그를 뽑아내려고 합니다.
하지만 <nobr> 태그를 아예 인식을 못하더군요..
방법이 없을까요?
ps:
<nobr> 태그를 뽑아오려하는 이유는 좀더 정확한 파싱을 하기 위함입니다.
<a> 태그만 긁어오게 된다면 필요없는 부분까지 전부 긁어오게되고 또
구분을 하려해도 <a>태그의 속성이 필요없는 부분의 <a>태그 속성과 같기 때문에
구분이 불가능해 <nobr>태그를 뽑아온 후 하위태그를 뽑아야합니다..
시도한 소스
Source source = new Source(new URL("url);
source.fullSequentialParse();
List<Element> nobrList = source.getAllElements("nobr"); //nobr 태그를 인식못함....
Iterator<Element> nobrIterator = nobrList.iterator();
while (nobrIterator.hasNext()) {
Element nobrElement = (Element)nobrIterator.next();
List<Element> aList = nobrElement.getAllElements("a");
if (aList!=null && aList.size()!=0) {
Element aElement = aList.get(0);
if (aElement != null) {
String u = aElement.getAttributeValue("href"); // URL 추출
String t = aElement.getTextExtractor().toString(); // "안녕하세요" 추출
if (u != null && t != null) {
CustomItem customItem = new CustomItem();
customItem.mURL = u;
customItem.mTitle = t;
}
}
}
}
파싱할 HTML 태그
<!-- 게시판 목록 시작 -->
<table width="97%" align="center" cellpadding="0" cellspacing="0"><tr><td>
<!-- 제목 -->
<form name="fboardlist" method="post">
<input type='hidden' name='bo_table' value='0201'>
<input type='hidden' name='sfl' value=''>
<input type='hidden' name='stx' value=''>
<input type='hidden' name='spt' value=''>
<input type='hidden' name='page' value='1'>
<input type='hidden' name='sw' value=''>
<table cellspacing="0" cellpadding="0" class="board_list">
<col width="50" />
<col />
<col width="110" />
<col width="40" />
<col width="50" />
<tr class="bg1">
<td class="num">
2 </td>
<td class="subject">
<nobr style='display:block; overflow:hidden;'>
</nobr> </td>
<td class="name"><span class='member'>ㅁㅁㅁ</span></td>
<td class="datetime">07-23</td>
<td class="hit">15</td>
</tr>
<tr class="bg0">
<td class="num">
1 </td>
<td class="subject">
<nobr style='display:block; overflow:hidden;'>
</nobr> </td>
<td class="name"><span class='member'>ㅋㅋㅋ</span></td>
<td class="datetime">07-23</td>
<td class="hit">12</td>
</tr>
</table>
</form>
</td></tr></table>