xml的sax解析方式在找到結點開始標誌時,呼叫
(1)- (void)parser:(nsxmlparser *)parser didstartelement:(nsstring *)elementname namespaceuri:(nsstring *)namespaceuri qualifiedname:(nsstring *)qname attributes:(nsdictionary *)attributedict 函式,在找到結點結束標誌時,呼叫
(2)- (void)parser:(nsxmlparser *)parser didendelement:(nsstring *)elementname namespaceuri:(nsstring *)namespaceuri qualifiedname:(nsstring *)qname函式。
通過以下兩個步驟,可以從xml檔案得到包含屬性名和屬性值的樹狀字典,這個字典和xml檔案有同樣的結構。
在xml解析類中儲存乙個nsstring的陣列array,表示當前結點的路徑。和乙個解析結果的字典dic。
1.在函式(1)中,elementname是結點名,attributedict是這個結點包含的屬性名和屬性值的鍵值對的字典。由array和dic可以得到當前結點,把elementname和dic作為乙個鍵值對,存入當前結點的字典中。把elementname加入array中,更新當前結點路徑。有時結點名重複,可以在每個結點中增加乙個name屬性,把elementname和name拼接起來作為dic的key。
2.在函式(2)中,去掉array的最後乙個元素,更新當前結點路徑。
在程式中如果需要從xml檔案中得到資料,由這個解析類得到檔案的屬性字典,從屬性字典中就可以得到所需的屬性值。
by zqzhuang
xml的sax解析方法
xml的sax解析方式在找到結點開始標誌時,呼叫 1 void parser nsxmlparser parser didstartelement nsstring elementname namespaceuri nsstring namespaceuri qualifiedname nsstri...
XML解析之SAX解析
sax解析 核心類 saxparse ctory saxparser defaulthandler 步驟 建立工廠類例項 saxparse ctory factory saxparse ctory.newinstance 獲取解析器類例項 saxparser parser factory.newsa...
SAX解析xml檔案
public class xmlsaxactivity extends activity class mycontenthandlerlistener implements onclicklistener catch exception e public class downloadhelper c...