xml的解析兩種方式,我們來先看第一種,不需要在記憶體中排成樹型結構再去解析的。xml檔案如下:
viewcontroller中實現:
- (void)viewdidload
下面看核心部分 自定**析類
1.建立解析類,並傳入要解析的檔案
- (nsarray *)parsebookswithxmlfilename:(nsstring *)name
實現**方法,開始標籤
-(void)parser:(nsxmlparser *)parser didstartelement:(nsstring *)elementname namespaceuri:(nsstring *)namespaceuri qualifiedname:(nsstring *)qname attributes:(nsdictionary
*)attributedict
}
發現字串**方法
-(void)parser:(nsxmlparser *)parser foundcharacters:(nsstring *)string
結束標籤**方法
-(void)parser:(nsxmlparser *)parser didendelement:(nsstring *)elementname namespaceuri:(nsstring *)namespaceuri qualifiedname:(nsstring *)qnameelse
if ([elementname isequaltostring:@"price"]) else
if ([elementname isequaltostring:@"page"]) else
if ([elementname isequaltostring:@"author"])
}
通過輸出結果我們一起理解一下sax解析過程
可以看到標籤成對解析,開始標籤–發現文字–結束標籤–發現文字是乙個過程,會逐層匹配。在這個過程中,我們每一次解析可以拿到自己想要的東西,賦值給模型類。這就是sax解析
xml解析另一種,高效率方式dom解析 具體參考微博:
解析XML檔案(SAX方式解析XML)
解析xml檔案 sax方式解析xml 對xml檔案解析有四種方法 dom sax jdom dom4j 現著重講一下sax解析xml檔案。1 通過一定的方式獲取檔名 獲得檔案路徑 string xmlfilepath ticanserviceaccess.getsystemsupportservic...
解析XML檔案(SAX方式解析XML)
解析xml檔案 sax方式解析xml 對xml檔案解析有四種方法 dom sax jdom dom4j 現著重講一下sax解析xml檔案。1 通過一定的方式獲取檔名 獲得檔案路徑 string xmlfilepath ticanserviceaccess.getsystemsupportservic...
XML 三 應用 SAX 方式解析 XML
1.通過saxparse ctory的靜態newinstance 方法獲取乙個saxparse ctory的物件。saxparse ctory factory saxparse ctory.newinstance 2.通過saxparse ctory物件的newsaxparser 方法返回乙個sax...