關于XML,有兩種解析方式,分别是SAX(Simple API for XML,基于事件驅動的解析方式,逐行解析資料,采用協定回調機制)和DOM(Document Object Model ,文檔對象模型。解析時需要将XML檔案整體讀入,并且将XML結構化成樹狀,使用時再通過樹狀結構讀取相關資料,查找特定節點,然後對節點進行讀或寫)。蘋果官方原生的NSXMLParse類庫采用第一種方式,即SAX方式解析XML,它基于事件通知的模式,一邊讀取文檔一邊解析資料,不用等待文檔全部讀入以後再解析,是以如果你正列印解析的資料,而解析過程中間出現了錯誤,那麼在錯誤節點之間的資料會正常列印,錯誤後面的資料不會被列印。解析過程由NSXMLParserDelegate協定方法回調。
首先先建立一個xml檔案就叫做xml.xml吧:
接首建立一個相對應的M
接着添加一個自定義UITableViewCell類就讓它叫做CustomTableViewCell.m吧,下一步将用到,代碼如下:
在storyboard内添加一個ViewController并加一個TableView并設定好相應的限制條件後添加一個繼承自UIViewController的類估且就叫做XmlToTableViewController,并設定上一步在storyboard添加的ViewController的Customer Class為XmlToTableViewController。
XmlToTableViewController要實作NSXMLParserDelegate這個接口,并選擇相應要實作的方法。
最終的效果:
