zoukankan      html  css  js  c++  java
  • 关于IOS数据操作方式详解(一)— XML数据解析

      数据操作在IOS操作中占据很大的内容,对于面向对象而言,函数都是为数据服务的,而对于OC语言来说,对于对象的操作则更加普遍。现在我们来看一下OC语言中XML数据操作方式:

       下面是一段XML数据,现在我们的目的是将其解析出来以获得我们所需要的数据:    

    <bookstore>
        <book category="COOKING">
            <title lang="en">Everyday Italian</title>
            <author>Giada De Laurentiis</author>
            <year>2005</year>
            <price>30.00</price>
        </book>
    </bookstore>

       那么面对着这么一段数据,我们如何将其解析出来呢?

       (一) 要解析XML数据,首先需要使用解析工具,添加XML解析框架,获得数据文件路径,并将获得的文件转化为二进制数据:    

       NSString *filePath = [[NSBundlemainBundle] pathForResource:@"bookstore"ofType:@"xml"];
        NSData *data = [[NSData alloc] initWithContentsOfFile:filePath];

       (二) 获取根元素(第一行为根元素):

      GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:data options:0 error:nil]; 
        GDataXMLElement *rootElement = [doc rootElement];
      NSArray *elements = [rootElement elementsForName:@"book"];

      

       (三)根据根key值获得相应的元素

        for (GDataXMLElement *element in elements) {
            QYBook *book = [[QYBook alloc] init];
            book.category = [[element attributeForName:@"category"] stringValue];
    
            GDataXMLElement *titleElement = [element elementsForName:@"title"][0];
            book.title = [titleElement stringValue];
            book.language = [[titleElement attributeForName:@"lang"] stringValue];
            
            GDataXMLElement *authorElement = [element elementsForName:@"author"][0];
            book.author = [authorElement stringValue];
            
            [self.bookStore addObject:book];
        }

      这样就可以将解析出来的数据保存到数组之中了。

        

  • 相关阅读:
    PAT 1088. Rational Arithmetic
    PAT 1087. All Roads Lead to Rome
    PAT 1086. Tree Traversals Again
    PAT 1085. Perfect Sequence
    PAT 1084. Broken Keyboard
    PAT 1083. List Grades
    PAT 1082. Read Number in Chinese
    求最大公因数
    [转载]Latex文件转成pdf后的字体嵌入问题的解决
    [转载]Matlab有用的小工具小技巧
  • 原文地址:https://www.cnblogs.com/yuanjianguo2012/p/3740127.html
Copyright © 2011-2022 走看看