XPath等

【XPath語法】java

//XML路徑語法設計模式

【做用】快速的鎖定某一級的節點。能夠免去一層層複雜的節點搜索dom

XPath 使用路徑表達式來選取 XML 文檔中的節點或節點集。節點是經過沿着路徑 (path) 或者步 (steps) 來選取的。tcp

 

 

/root/books/book/namespa

author//name設計

 

 

===============================================xml

 

【MVC設計模式】對象

使用MVC設計模式解析新浪網數據事件

http://rss.sina.com.cn/sina_all_opml.xmlip

 

 

 

===============================================

 

 

【NSXMLParser】

對xml進行解析的標準有兩種:sax以及dom。

首先這兩種標準並非針對java的,他們在各類語言環境下均可以實現。dom是真正的國際標準。sax是事實的標準,它不禁任何商業組織維 護,而是由一個非商業的組織在運做。就像iso7層模型和tcp/ip同樣,雖然sax不是正式的標準,可是一點不影響其在xml解析領域的地位。

 

dom實現的原理是把整個xml文檔一次性讀出,放在一個樹型結構裏。在須要的時候,查找特定節點,而後對節點進行讀或寫。它的主要優點是實現簡單,讀寫平衡;缺點是比較佔內存,由於他要把整個xml文檔都讀入內存,文件越大,這種缺點就越明顯。

 

 

sax的實現方法和dom不一樣。

SAX解析XML,是基於事件通知的模式,一邊讀取XML文檔一邊處理,沒必要等整個文檔加載完以後才採起操做,當在讀取解析過程當中遇到須要處理的對象,會發出通知對其進行處理。因爲該方法 只在xml文檔中查找特定條件的內容,而且只提取須要的內容。這樣作佔用內存小,靈活,正好知足咱們的需求。

 

在iOS中,能夠經過NSXMLParser實現sax方法解析xml文件。

對於NSXMLParser,經常使用的初始化方法有兩種:經過XML的URL初始化和經過本地的XML文件初始化。

 

 

 

使用NSXMLParser解析XML數據的關鍵是實現NSXMLParserDelegate中的5個方法:

 

 

/* 開始解析xml文件,在開始解析xml節點前,經過該方法能夠作一些初始化工做 */

- (void)parserDidStartDocument:(NSXMLParser *)parser

{

    NSLog(@"開始解析xml文件");

}

 

 

/* 當解析器對象遇到xml節點的開始標記時,調用這個方法開始解析該節點 */

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName

attributes:(NSDictionary *)attributeDict

{

    NSLog(@"發現節點");

}

 

 

 

/* 當解析器找到開始標記和結束標記之間的字符時,調用這個方法解析當前節點的全部字符 */

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string

{

    NSLog(@"正在解析節點內容");

}

 

 

 

/* 當解析器對象遇到xml節點的結束標記時,調用這個方法完成解析該節點 */

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName

{

    NSLog(@"解析節點結束");

}

 

 

 

/* 解析xml文件結束 */

- (void)parserDidEndDocument:(NSXMLParser *)parser

{

    NSLog(@"解析xml文件結束");

}

相關文章
相關標籤/搜索