iOS的XML解析庫:GDataXMLNode

jopen 11年前發布 | 30K 次閱讀 XML操作類庫 GDataXMLNode
一、GDataXMLNode說明

GDataXMLNode是Google提供的用于XML數據處理的類集。該類集對libxml2--DOM處理方式進行了封裝,能對較小或中等的xml文檔進行讀寫操作且支持XPath語法。

使用方法:
     1、獲取GDataXMLNode.h/m文件,將GDataXMLNode.h/m文件添加到工程中
     2、向工程中增加“libxml2.dylib”庫
     3、在工程的“Build Settings”頁中找到“Header Search Path”項,添加/usr/include/libxml2"到路徑中
     4、添加“GDataXMLNode.h”文件到頭文件中,如工程能編譯通過,則說明GDataXMLNode添加成功

二、GDataXMLNode示例

示例:
<root>
     <name value="wusj"/>
     <age>24</age>
</root>

對此xml文件進行解析

    
NSString *xmlPath = [[NSBundlemainBundle] pathForResource:@"test"ofType:@"xml"];
    NSString *xmlString = [NSStringstringWithContentsOfFile:xmlPath encoding:NSUTF8StringEncodingerror:nil];
    GDataXMLDocument *xmlDoc = [[GDataXMLDocumentalloc] initWithXMLString:xmlString options:0error:nil];
    GDataXMLElement *xmlEle = [xmlDoc rootElement];
    NSArray *array = [xmlEle children];
    NSLog(@"count : %d", [array count]);

    for (int i = 0; i < [array count]; i++) {
        GDataXMLElement *ele = [array objectAtIndex:i];

        // 根據標簽名判斷
        if ([[ele name] isEqualToString:@"name"]) {
            // 讀標簽里面的屬性
            NSLog(@"name --> %@", [[ele attributeForName:@"value"] stringValue]);
        } else {
            // 直接讀標簽間的String
            NSLog(@"age --> %@", [ele stringValue]);
        }

    }


三、GDataXMLNode方法小結

     最終的數據讀出都是在GDataXMLElement對象中讀出的,以下方法均為GDataXMLElement類的方法
     1、name方法,取標簽名 e.g name標簽的名稱“name”
     2、attributeForName: 取屬性結點 再調stringValue即可取到屬性值 e.g name標簽中的value屬性
     3、stringValue: 取標簽間的字符串值  e.g: age間的24

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!