iT邦幫忙

DAY 17
14

我愛吃蘋果系列 第 17

 [iPhone程式設計 之 iT邦幫忙 App] HTML pa不成,那還有最後的絕招~ 

iT邦的網頁對人來說,寫的還算整齊,很容易分析,但它還不算是wellform的XML,所以試了幾天下,一直沒能把它當純XML來parse,這時只好動用大絕招了~~
大絕招就是「substring」!啥?很遜!但它的確是萬無一失的,哈哈哈~~

為什麼不能當XML來parse,因為網頁原始瑪裡,有些tag還是沒有完整,最常見的就是 <br /> 只寫 <br>,還有<link ...>也沒有close tag,所以parse到一半就跳掉了 orz...

雖然可以用XPath的方式來取得所要的節點,但我之前說過我要的是將文章片段給截取出來,直接放在UIWebView裡呈現,所以我要的不是節點,而是片段。

分享類文章的「描述區段」如下:

<div id="qBodyCnt">
<p>上周看了一篇新聞,<a href="http://dailynews.sina.com/bg/news/int/ausdaily/20101018/17451917146.html">航空老闆 卧底當菜鳥空少</a>內心上演無限想像…<br />
哇~如果大老闆真的臥底在你我身邊,會發生什麼事呢??<br />
飛上枝頭當鳳凰?<br />
一步登天?<br />
還從此淪落為黑面蔡?</p><br>
<div id="qBodyCntFoot">

所以我只要把字串從 qBodyCnt 切到 qBodyCntFoot就好了。

而「分享內容區段」如下:

 <!--- <div class="bestAnsCnt"> --->
<div class="contents">水瓶座有一些奇怪的堅持,不合理的劇情很難說服我們融入。<br />
所以<br />

...略...

我們還是來發夢討論一下,「如果」老闆臥底在你身邊,你覺得會發生什麼事呢?<br />
關於「大老闆來臥底」的想像,歡迎上iT邦分享唷!</div><p class='reference'>參考資料:CafeQueen版權所有</p><div class="toolSet" style="padding-right:8px"></div><!-- toolSet close --></div>
</div>
<!-- /MODULE question/inc/best_answer.phtml -->
</div> <!--  ansQuesion close   -->

「回應區段」如下:

<div class="answerBox">...

<div class="answerBody">...

<div class="ansResponse">...

<div class="resposeCnt"...

 <!-- answerBox close -->

這樣是一組回應,所以還算好分析~~

看來不難嘛?但昨天我搞了一個多小時就是搞不出來 orz...
後來才發現自己豬頭,程式裡連到的URL,跟我用眼睛看用來檢查的URL是不同一個,所以試了一個小時,怎麼切就是切不到我要的字串片段,最後才發現原來弄錯URL了!

我累了嗎?!~~


上一篇
 [iPhone程式設計 之 iT邦幫忙 App] 如何選擇最適合你的 iOS App 的XML Library? 
下一篇
 [iPhone程式設計 之 iT邦幫忙 App] NSString之substring 
系列文
我愛吃蘋果30

尚未有邦友留言

立即登入留言