天天看點

Objective-C ---XML解析 (梳理整理)

XML

<Item key="1" value="A">    XXX</Item>

XXX 節點值(元素值)

key , value  是節點item屬性,  1, A是屬性值; 

準備

1.導入GDataXMLNode 庫

2.進入GDataXMLNode.h  

按下面這幾句話去做  

#import <Foundation/Foundation.h>

// libxml includes require that the target Header Search Paths contain

//

//   /usr/include/libxml2

//

// and Other Linker Flags contain

//

//   -lxml2

1.Header Search Paths contain- /usr/include/libxml2

2.Other Linker Flags contain - -lxml2  就是上面提示的兩步

+   3.于Frameworks中導入libxml2.tbd

     4.設定GDataXMLNode為mrc模式  -fno-objc-arc

解析:

1.取出内容Document

 GDataXMLDocument *doc = [[GDataXMLDocument alloc]initWithData:data options:0 error:nil];

2.開始解析

    NSArray *books = [doc nodesForXPath:@"/root/books/book" error:nil];

    for (id obj in books) {

        NSArray *array = [obj elementsForName:@"name"];

        GDataXMLElement *element = array[0];

        NSString *str = element.stringValue;//取到節點值

//        NSString*str = [[obj elementsForName:@"name"][0] stringValue];和上面這幾句效果一樣

        GDataXMLNode *xmlNode = [obj attributeForName:@"name"] ;

        NSString *str1 = xmlNode.stringValue;//取到屬性值

    }