基於系統NSXMLParser的XML解析的工具

2021-07-17 04:04:11 字數 1293 閱讀 4863

乙個簡單的基於系統nsxmlparser的xml解析的工具

nsstring *filepath = [[nsbundle mainbundle] pathforresource:@」data」 oftype:@」xml」];

nsmutabledictionary *dict = [[hyxmlparser sharedparser] getdictwithxmlpath:filepath];
目前只有以下格式的xml檔案可以正常解析,其他的暫時解析不了。

只支援一件巢狀,多級巢狀無法解析

id="1">

2016-01-01cdate>

每天早上7點鐘起床content>

jackuserid>

地鐵transport>

乙個小時time>

note>

基於系統的nsxmlparser解析,sax解析,是事件驅動的解析,在解析到檔案,元素,屬性的時候,會呼叫**方法,在**方法進行一些資料處理。

在元素開始的時候會呼叫的**方法:

- (void)parser:(nsxmlparser *)parser didstartelement:(nsstring *)elementname namespaceuri:(nsstring *)namespaceuri qualifiedname:(nsstring *)qname attributes:(nsdictionary

*)attributedict

1、如果元素通過屬性傳遞資料的話:

id="1">

note>

解析到的內容會放到**方法的attributedict中;這時候可以以這個字典為基礎構建字典容器;

2、如果元素是通過子元素來傳遞資料的話:

2016-01-01cdate>

每天早上7點鐘起床content>

jackuserid>

地鐵transport>

乙個小時time>

note>

解析到的內容會分離開來,這時候需要自己做一些處理,構建字典容器,把解析到的內容依次新增到字典容器中,最後就可以得到最終的資料了。

此內容只是用於分享交流之用,有什麼問題歡迎提出!

IPhone之NSXMLParser的使用

nsxmlparser解析xml格式的資料 用法如下 首先,nsxmlparser必須繼續nsxmlparserdelegate協議 inte ce xmlhelper nsobject 首先設定xml資料,並初始化nsxmlparser void viewdidload 遍例xml的節點 void...

iPhone之NSXMLParser的使用

nsxmlparser解析xml格式的資料 用法如下 首先,nsxmlparser必須繼續nsxmlparserdelegate協議 inte ce xmlhelper nsobject 首先設定xml資料,並初始化nsxmlparser void viewdidload 複製 遍例xml的節點 v...

IOS內建NSXMLParser解析xml

nsxmlparser解析xml格式的資料 用法如下 首先,nsxmlparser必須繼續nsxmlparserdelegate協議 inte ce xmlhelper nsobject 首先設定xml資料,並初始化nsxmlparser void viewdidload 遍例xml的節點 void...