精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

iPhone開發 NSXMLParser解析XML文件教程

移動開發 iOS
本文介紹的是iPhone開發 NSXMLParser解析xml文件教程,很詳細的介紹了如何計息XML的內容,先來想、看詳細內容。

iPhone開發 NSXMLParser解析xml文件教程是本文要介紹的內容,本文主要是以代碼實現的,來看代碼。xml文件如下:Question.xml,放在Resource文件目錄中

 

  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <Root>   
  3. <Question>   
  4. <QuestionTitle>你的學習成績如何?</QuestionTitle>   
  5. <Answers>   
  6. <Answer>   
  7. <Result>主要科目成績較好</Result>   
  8. <Evaluate>對自己的學習成績一定要如實回答。</Evaluate>   
  9. </Answer>   
  10. <Answer>   
  11. <Result>大概可在中等偏上水平</Result>   
  12. <Evaluate>如果成績不好則應說明理由。</Evaluate>   
  13. </Answer>   
  14. <Answer>   
  15. <Result>成績特好,在我們班老數第一</Result>   
  16. <Evaluate>應表現出對學習的態度是認真的。</Evaluate>   
  17. </Answer>   
  18. </Answers>   
  19. </Question>   
  20. </Root>   
  21.  
  22. IVPaserXMLSingleton.h 文件如下   
  23.  
  24. #import <Foundation/Foundation.h>   
  25. #import "IVQuestionModel.h"   
  26. #import "IVAnswerModel.h"   
  27.  
  28. @interface IVPaserXMLSingleton : NSObject {   
  29. NSXMLParser*m_parser;                 //xml 解析類   
  30. IVQuestionModel* m_queModel;     //問題的封裝類   
  31. IVAnswerModel* m_ansModel;        //問題答案的封裝類   
  32. NSMutableArray* m_arrXMLNode;   //xml解析后的封裝的array列表   
  33. }   
  34.  
  35. //實現單利方法   
  36. +(IVPaserXMLSingleton *) GetInstance;   
  37.  
  38. //解析xml文件 并將解析后的結果封裝到列表中返回   
  39. - (NSMutableArray*) GetArrayByPaserXML;   
  40.  
  41. @end   
  42.  
  43. IVPaserXMLSingleton.m 文件如下,為單例類   
  44.  
  45. @implementation IVPaserXMLSingleton   
  46.  
  47. static IVPaserXMLSingleton *instance;  //單例對象   
  48. BOOL flag = YES;                               //是否為一個節點 重復的賦值   
  49. NSString* m_strCurrentElement;  //讀到的當前節點的名   
  50.  
  51. + (IVPaserXMLSingleton *)GetInstance {   
  52. @synchronized(self) {   
  53. if (instance == nil) {   
  54. instance = [[self alloc] init];   
  55. }   
  56. }   
  57. return instance;   
  58. }   
  59.  
  60. - (NSMutableArray*) GetArrayByPaserXML {   
  61. //獲取xml文件   
  62. NSString* pathpath = path = [[NSBundle mainBundle] pathForResource:@"Question" ofType:@"xml"];   
  63. NSFileHandle* file = [NSFileHandle fileHandleForReadingAtPath:path];   
  64. NSData* data = [file readDataToEndOfFile];   
  65. [file closeFile];   
  66.  
  67.        m_parser = [[NSXMLParser alloc] initWithData:data];   
  68.  
  69.         //設置該類本身為代理類   
  70.         [m_parser setDelegate:self];   
  71.  
  72. BOOL flag = [m_parser parse];   
  73. if (flag) {   
  74. NSLog(@"獲取指定路徑的xml文件成功");   
  75. } else {   
  76. NSLog(@"獲取指定路徑的xml文件失敗");   
  77. }   
  78. [m_parser release];   
  79. return m_arrXMLNode;   
  80. }   
  81.  
  82. - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName   
  83. namespaceURI:(NSString *) namespaceURI qualifiedName:(NSString *)qName   
  84. attributes: (NSDictionary *)attributeDict {   
  85. //讀到開始標簽 flag = YES   
  86. flag = YES;   
  87.  
  88. // 紀錄當前解析的節點   
  89. m_strCurrentElement = elementName;   
  90.  
  91. ////讀到xml的跟結點的開始標簽   
  92. if ([elementName isEqualToString:@"Root"]) {   
  93. m_arrXMLNode = [[NSMutableArray alloc] init];   
  94. }   
  95.  
  96. //解析面試問題的xml文件   
  97. if ([m_xmlType isEqualToString:@"Question"]) {   
  98. if ([elementName isEqualToString:@"Question"]) {   
  99. m_queModel = [[IVQuestionModel alloc] init];   
  100. m_queModel.m_arrAnswers = [[NSMutableArray alloc] init];   
  101. } else if ([elementName isEqualToString:@"Answer"]) {   
  102. m_ansModel = [[IVAnswerModel alloc] init];   
  103. }   
  104. }   
  105. }   
  106.  
  107. -(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {   
  108. if (flag) {   
  109. //解析面試問題的xml文件   
  110. if ([m_xmlType isEqualToString:@"Question"]) {   
  111. if ([m_strCurrentElement isEqualToString:@"QuestionTitle"]) {   
  112. m_queModel.m_strQuestionTitle = string;   
  113. } else if ([m_strCurrentElement isEqualToString:@"Result"]) {   
  114. m_ansModel.m_strResult = string;   
  115. } else if ([m_strCurrentElement isEqualToString:@"Evaluate"]) {   
  116. m_ansModel.m_strEvaluate = string;   
  117. }   
  118. }   
  119. }   
  120. }  
  1. -(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {   
  2. //讀到結束標簽 flag = NO   
  3. flag = NO;   
  4.  
  5. //解析面試問題的xml文件   
  6. if ([m_xmlType isEqualToString:@"Question"]) {   
  7. if ([elementName isEqualToString:@"Question"]) {   
  8. [m_arrXMLNode addObject:m_queModel];   
  9. [[m_queModel m_arrAnswers] release];   
  10. [m_queModel release];   
  11. m_queModel = nil;   
  12. }   
  13. if ([elementName isEqualToString:@"Answer"]) {   
  14. [[m_queModel m_arrAnswers] addObject:m_ansModel];   
  15. [m_ansModel release];   
  16. m_ansModel = nil;   
  17. }   
  18. }   
  19. }   
  20.  
  21. - (void)parserDidStartDocument:(NSXMLParser *)parser {   
  22. NSLog(@"開始解析xml文件");   
  23. }   
  24.  
  25. - (void)parserDidEndDocument:(NSXMLParser *)parser {   
  26. NSLog(@"解析xml文件完成");   
  27. }   
  28. @end  

大致過程就是這樣,常遇到的問題:

1、如果xml文件讀取失敗,可能是xml的文件格式不正確,可以在window下用ie打開該xml文件可以快速的查看是否xml文件的格式有問題。

2、如果節點的值過長,如<Result>...</Result>中間有很長一段內容,那么解析的過程中會將這段內容截成幾段來讀取,即:-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string方法會被重復的調用,直到所有的內容讀取結束,所以這時如果用:m_ansModel.m_strResult = string;這種方式賦值,得到就會是不全的內容,解決辦法是用NSMutableString類型的去接收讀到的值,大概像這樣:

  1. if (m_ansModel.m_strResult == nil) {   
  2. m_ansModel.m_strResult = [[NSMutableString alloc] initWithString:string];   
  3. } else {   
  4. [m_ansModel.m_strResult appendString:string];   
  5. }  

其中m_strResult為NSMutableString類型。就ok啦。

以上為個人的總結,希望對大家有幫助

小結:iPhone開發 NSXMLParser解析XML文件教程的內容介紹完了,希望本文對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-08-08 14:13:47

iPhone XML NSXMLParse

2011-08-22 12:01:38

iPhone開發文件

2011-08-10 15:48:10

iPhone網絡

2011-08-02 17:37:01

IPhone開發 環境搭建

2011-07-08 16:02:24

iphone

2011-08-10 18:24:22

iPhone 圖形 繪圖

2011-07-08 14:58:16

iPhone Xcode iOS

2011-08-03 17:44:57

iPhone App 文件

2022-03-22 09:41:31

Java編程語言持久化

2011-08-09 13:10:32

iPhone地圖開發

2011-07-21 10:29:18

iPhone 開發

2011-07-18 09:35:29

iPhone 框架

2011-08-15 15:26:20

iPhone開發CocoaXML

2011-07-27 16:46:04

iPhone iPhone破解 MacPort

2011-07-18 10:53:09

2011-08-15 11:31:27

iPhone開發日志

2011-08-12 10:09:23

iPhone開發多線程

2011-07-18 11:07:12

iPhone 游戲 引擎

2010-07-26 15:06:29

Perl解析XML文件

2011-07-18 12:29:10

點贊
收藏

51CTO技術棧公眾號

国产精品久久无码| 久久精品国产sm调教网站演员| 亚洲自拍偷拍另类| 韩国精品一区二区三区| 日韩av影视在线| 韩国日本美国免费毛片| 黄色成人在线| 99久久99久久综合| 国产欧美精品在线| 国产污视频在线看| 色婷婷综合网| 日韩成人网免费视频| 亚洲xxx在线观看| 91破解版在线观看| 国产精品的网站| 国产在线精品一区二区三区| 中文字幕丰满人伦在线| 亚洲国产婷婷| 久热精品在线视频| 91l九色lporny| 91精品导航| 欧美日韩一区久久| 国产l精品国产亚洲区久久| 国产黄a三级三级三级av在线看| 91麻豆国产香蕉久久精品| 亚洲综合大片69999| 国产一卡二卡三卡| 亚洲激情国产| 欧美丰满老妇厨房牲生活| 国产18无套直看片| 天天久久夜夜| 欧美精品一区二区三区视频| 日本精品一区在线| 久久亚洲精品人成综合网| 欧美日韩免费观看中文| 欧洲精品在线播放| a毛片在线观看| 国产精品久久久久久福利一牛影视 | 美女100%一区| 亚洲成a人片综合在线| 亚洲成人动漫在线| 蜜桃视频在线观看免费视频网站www| 久久先锋资源网| 久久久精品国产一区二区三区| 精品人妻伦一区二区三区久久| 久久精品国产精品亚洲综合| 国产精品第一区| 精品国产乱子伦| 久久久精品午夜少妇| 91高清免费视频| 91美女免费看| 久久先锋资源| 国产精品福利在线| 中文字幕欧美人妻精品一区蜜臀| 日韩中文欧美在线| 国产精品亚洲欧美导航| 在线观看中文字幕码| 久久99精品一区二区三区| 国产欧美日韩中文字幕在线| 一级特黄特色的免费大片视频| 麻豆精品一区二区综合av| 成人深夜直播免费观看| 国产毛片毛片毛片毛片| 国产东北露脸精品视频| 国产亚洲精品自在久久| 手机看片福利在线观看| 久久久久久97三级| 一区二区精品免费视频| 二区三区在线观看| 亚洲国产日韩a在线播放性色| 久久成人福利视频| 日本成人三级电影| 欧美人与z0zoxxxx视频| 中文字幕55页| 欧美成a人免费观看久久| 亚洲欧美在线x视频| 天天舔天天操天天干| 婷婷另类小说| 国内久久久精品| 男人天堂av在线播放| 麻豆精品久久久| 成人精品一二区| 四虎影视2018在线播放alocalhost| 国产婷婷一区二区| 波多野结衣 作品| 在线天堂资源| 91精品婷婷国产综合久久| 国产在线不卡av| 欧美日韩国产免费观看视频| 插插插亚洲综合网| www.国产一区二区| 精品一区二区三区视频| 国产精品国产一区二区| 九色在线观看| 亚洲综合色在线| 黄色aaa级片| 国内露脸中年夫妇交换精品| 在线亚洲欧美视频| 国产主播在线观看| 免费观看在线综合色| 国产精品视频免费观看| 日本在线免费| 福利一区视频在线观看| 九九九九九九九九| 国产aⅴ精品一区二区三区久久| 九九久久久久久久久激情| 黄色一级视频免费看| 国产激情一区二区三区桃花岛亚洲 | 国产又粗又猛又爽| 91丝袜国产在线播放| 91社在线播放| 福利一区二区| 精品无人区太爽高潮在线播放 | 欧美日韩视频一区二区| 国产麻豆天美果冻无码视频 | 精品人妻无码一区二区三区蜜桃一| 91色.com| 国产精品久久久久久久乖乖| 91成人app| 国产亚洲精品久久久久动| 久一区二区三区| 国产美女精品人人做人人爽| 亚洲aⅴ天堂av在线电影软件| 国产亚洲成av人片在线观看 | 蜜臀aⅴ国产精品久久久国产老师| 欧美日韩国产在线观看网站| 2019中文字幕在线观看| 空姐吹箫视频大全| 一区二区三区在线播| 欧美精品久久久久久久久25p| 亚洲资源网站| 4p变态网欧美系列| 懂色av成人一区二区三区| ㊣最新国产の精品bt伙计久久| 免费看a级黄色片| 亚洲人成网77777色在线播放| 国内揄拍国内精品| 成人免费一级视频| 亚洲超丰满肉感bbw| 国产成人精品综合久久久久99 | 免费看国产曰批40分钟| 白白在线精品| 久久久久久久国产精品| 超碰在线人人干| 一区二区在线观看av| 奇米777在线| 在线电影一区二区| 91久久极品少妇xxxxⅹ软件 | 日韩免费在线播放| 美国一级片在线免费观看视频| 欧美日韩国产精品一区二区三区四区| 手机在线成人av| 夜久久久久久| 欧美二区在线看| 日韩美女在线看免费观看| 亚洲一区二区国产| 中文字幕 视频一区| 国产精品久久三区| 国产三级精品三级在线| 中文字幕人成人乱码| julia一区二区中文久久94| 国产蜜臀一区二区打屁股调教| 精品欧美黑人一区二区三区| 久久久久99精品| 91日韩一区二区三区| www.色就是色| 综合国产在线| 国产综合av一区二区三区| 一根才成人网| 日韩中文理论片| 精品人妻av一区二区三区| 婷婷亚洲久悠悠色悠在线播放| 国产三级视频网站| 蜜桃av一区二区三区| 粉嫩av一区二区三区天美传媒 | 一本色道久久88精品综合| 91tv国产成人福利| 一区二区欧美视频| 国产 中文 字幕 日韩 在线| 日韩精品一级中文字幕精品视频免费观看 | 日韩高清在线| 久久久www成人免费精品张筱雨 | 99久久亚洲一区二区三区青草| 又粗又黑又大的吊av| 欧美日韩在线播放视频| 99在线视频首页| 日韩欧美一区二区三区在线观看 | 欧美一区二区激情| 精品一区亚洲| 99re在线观看| 在线国产成人影院| 欧美激情极品视频| 国产日产精品久久久久久婷婷| 91精品国产综合久久精品| 在线观看中文字幕视频| 1024精品合集| 中国黄色a级片| 国产伦精一区二区三区| 黄色a级片免费| 午夜欧美精品久久久久久久| 日韩欧美一区二区在线观看| 99精品中文字幕在线不卡| 国产精品www| аⅴ资源天堂资源库在线| 久久精品国产成人| 大胆av不用播放器在线播放| 精品国产乱码久久久久久影片| 中文字幕精品无码亚| 婷婷激情综合网| 农村妇女精品一区二区| 国产精品毛片高清在线完整版 | 久久综合欧美| 国产乱码精品一区二区三区中文| 视频91a欧美| 国产精品成av人在线视午夜片 | 亚洲成av人影院在线观看网| 久久久久久久久久97| 久久九九久久九九| 朝桐光av一区二区三区| 成人做爰69片免费看网站| www.com久久久| 老司机精品视频在线| 欧美一级黄色片视频| 99国产精品久久久久久久| 日韩最新中文字幕| 久久精品国产亚洲夜色av网站 | 久久精品国产亚洲a∨麻豆| 精品乱码亚洲一区二区不卡| 国产精品亚洲lv粉色| 在线观看日韩毛片| 亚洲毛片一区二区三区| 精品日本美女福利在线观看| 国产在线视频99| 亚洲最新在线观看| 99热精品免费| 亚洲狼人国产精品| 国产精品 欧美激情| 国产精品福利影院| www中文在线| 中文字幕一区二区三中文字幕| 免费视频91蜜桃| 国产精品色哟哟网站| 国产不卡在线观看视频| 国产精品美女久久久久久久久久久| 久久精品视频18| 中文字幕精品—区二区四季| 久久视频一区二区三区| 中文字幕日韩av资源站| 看免费黄色录像| 亚洲免费观看在线视频| 三级影片在线看| 一区二区成人在线观看| 久久无码精品丰满人妻| 亚洲成人综合在线| 国产在线视频卡一卡二| 亚瑟在线精品视频| 黄瓜视频在线免费观看| 色婷婷国产精品| 少妇一级淫片日本| 欧美日韩精品一区二区| 99热这里只有精品在线| 欧美mv日韩mv亚洲| 香蕉视频成人在线| 国产一区二区三区直播精品电影 | 国产一区二区三区四区五区传媒| 品久久久久久久久久96高清| 波多野结衣在线播放一区| 在线国产伦理一区| 国内揄拍国内精品久久| 国产美女网站在线观看| 久久久亚洲一区| 最新国产黄色网址| 高清不卡一二三区| 中出视频在线观看| 国产精品天干天干在线综合| 男人操女人的视频网站| 精品久久久精品| 亚洲综合一区中| 精品国产乱子伦一区| 国产高清在线看| 九九久久久久99精品| 成人美女黄网站| 91久久在线播放| 亚洲精品进入| 欧美爱爱视频网站| 99亚洲视频| 麻豆三级在线观看| 成人av高清在线| 人妻无码一区二区三区免费| 亚洲一区二区精品久久av| 91青青草视频| 精品精品国产高清一毛片一天堂| 国产小视频在线播放| 欧美肥老妇视频| 国产精品久久乐| 国产主播一区二区三区四区| 希岛爱理一区二区三区| 女性女同性aⅴ免费观女性恋| 国产在线精品一区在线观看麻豆| 国产精品第七页| 夜夜精品浪潮av一区二区三区| 久久久久在线视频| 精品99一区二区三区| 伊人在线视频| 欧洲成人免费aa| 亚洲一区二区免费在线观看| 亚欧洲精品在线视频免费观看| 一二三区精品| 99国产精品免费视频| 亚洲国产精品成人综合色在线婷婷 | 欧美人与性动交α欧美精品| 国产日韩欧美制服另类| 精品无码一区二区三区电影桃花| 欧美日韩国产首页在线观看| 欧美女优在线观看| 国外成人在线播放| 奇米一区二区| 一区视频二区视频| 日日夜夜精品视频天天综合网| 稀缺呦国内精品呦| 一区二区三区在线观看网站| 国产免费不卡视频| 俺去啦;欧美日韩| 91精品国产66| 日本不卡二区高清三区| 亚洲在线日韩| 亚洲综合自拍网| 欧美日韩国产色视频| 男人天堂av网| 久久久久久欧美| 成人看片黄a免费看视频| 黄色一级大片免费| 国产成人精品影视| 久草视频免费播放| 欧美一卡二卡在线| 伊人222成人综合网| 91在线网站视频| 91精品观看| 亚洲综合123| 亚洲美女视频在线观看| 国产chinasex对白videos麻豆| 久久国产天堂福利天堂| 精品视频一二| 国产1区2区3区中文字幕| 国产精品 日产精品 欧美精品| 九九视频在线观看| 精品日韩av一区二区| xxx在线免费观看| 精品在线不卡| 久久久久.com| 手机免费观看av| 在线播放视频一区| 在线观看男女av免费网址| 99爱精品视频| 亚洲激情二区| 中文字幕免费视频| 欧美日韩亚洲不卡| 在线午夜影院| 国产在线精品日韩| 日韩影院在线观看| 国产日韩欧美在线观看视频| 日韩精品在线看片z| 蜜桃视频www网站在线观看| 欧美一区二区三区在线播放| 麻豆精品久久久| 国产性生活网站| 亚洲色图狂野欧美| 亚洲毛片在线免费| 成人免费在线网| 国产三级精品三级| 99热这里只有精品9| 欧美夜福利tv在线| 99视频精品视频高清免费| 少妇献身老头系列| 日韩欧美在线字幕| 黄色免费在线观看| 精品蜜桃一区二区三区| 蜜臀精品久久久久久蜜臀| 综合五月激情网| 精品爽片免费看久久| 免费一级欧美在线观看视频| 国产 欧美 日韩 一区| 久久婷婷综合激情| 99热这里是精品| 欧洲成人在线观看| 欧美96在线丨欧| av黄色免费网站| 日韩欧美123| 深夜视频一区二区| 国产精品日韩三级| 国产亲近乱来精品视频| 俄罗斯嫩小性bbwbbw| 国产精品一区久久| 亚洲毛片一区| 男女做暖暖视频| 亚洲欧美日韩一区二区在线| 欧美视频精品全部免费观看| 一本久道综合色婷婷五月| 亚洲午夜久久久久久久久电影院| 91ph在线|