XML的解析 DOM解析
2017-06-15 01:36
113 查看
参考上一篇的XML数据,上次我们使用的SAX解析。
http://blog.csdn.net/lee727n/article/details/73271916
这次我们通过DOM解析。
![](https://img-blog.csdn.net/20170615013338641?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVlNzI3bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
软件结构与上一篇一样,需要引入TBXML第三方类。用来做DOM解析
核心代码BookXMLParser.m中的逻辑
相对于上一种方式是不是显得更高效,代码更简洁。这就是DOM解析,将所有数据拿到内存中组成树形结构再解析。效率高。只是消耗内存
http://blog.csdn.net/lee727n/article/details/73271916
这次我们通过DOM解析。
软件结构与上一篇一样,需要引入TBXML第三方类。用来做DOM解析
核心代码BookXMLParser.m中的逻辑
+(NSArray *)parseBookWithFileName:(NSString *)name{ NSMutableArray *books = [NSMutableArray array]; TBXML *tbXML = [[TBXML alloc]initWithXMLFile:name fileExtension:@"xml" error:nil]; TBXMLElement *booksEle = tbXML.rootXMLElement; TBXMLElement *bookEle = [TBXML childElementNamed:@"book" parentElement:booksEle]; while (bookEle) { Book *book = [Book new]; book.bookID = [TBXML valueOfAttributeNamed:@"bookID" forElement:bookEle]; TBXMLElement *titleEle = [TBXML childElementNamed:@"title" parentElement:bookEle]; TBXMLElement *pageEle = [TBXML childElementNamed:@"page" parentElement:bookEle]; TBXMLElement *authorEle = [TBXML childElementNamed:@"author" parentElement:bookEle]; TBXMLElement *priceEle = [TBXML childElementNamed:@"price" parentElement:bookEle]; book.price = [TBXML textForElement:priceEle]; book.title = [TBXML textForElement:titleEle]; book.page = [TBXML textForElement:pageEle]; book.author = [TBXML textForElement:authorEle]; [books addObject:book]; //查找下一个兄弟标签 bookEle = [TBXML nextSiblingNamed:@"book" searchFromElement:bookEle]; } return books; }
相对于上一种方式是不是显得更高效,代码更简洁。这就是DOM解析,将所有数据拿到内存中组成树形结构再解析。效率高。只是消耗内存
相关文章推荐
- xml--解析02--jaxp对xml进行dom解析
- XML解析技术初探(一):DOM解析
- iOS中的数据解析(XML,JSON),SAX解析,DOM解析
- XML的SAX解析和DOM解析
- XML的两种解析方式逐行解析(SAX解析)节点解析(DOM解析)
- Dom解析是将xml文件全部载入,组装成一颗dom树,然后通过节点以及节点之间的关系来解析xml文件,下面结合这个xml文件来进行dom解析。
- XML解析技术和使用Jaxp对xml文档进行dom解析
- xml解析 Dom解析
- XML解析(一) DOM解析
- javaWeb2.1 XML解析方式之DOM解析
- XML数据解析之DOM解析
- XML入门学习笔记之XML解析技术---DOM解析
- XML的两种解析方式逐行解析(SAX解析)节点解析(DOM解析); 推荐
- XML解析之DOM解析
- DOM解析(GDataXMLNode)详解,xml解析
- Android XML文档解析(二)——DOM解析
- XML解析中DOM解析如何使用第三方的类库
- Android中XML解析-Dom解析
- IOS网络笔记--xml解析之一(dom解析)
- XML解析(SAX解析和DOM解析)