溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

XML解析 DOM(1)

發布時間:2020-07-10 03:55:23 來源:網絡 閱讀:495 作者:緣起愿落 欄目:開發技術


    DOM解析使用Google提供的一個開源高效的XML解析工具GDataXMLNode ,它的效率要比NSXMLParser 要快10倍
 
     使用方式:
     1.小導入系統動態鏈接庫 libxml2.2.dylib
     2.在buildSettings中的Header Search Path 中添加 /usr/include/libxml2
     3.在buildSettings中的Other Linker Flags 中添加 -lxml2


  1. 獲取解析文件路徑
     NSString * xmlPath = [[NSBundle mainBundle] pathForResource:@"Person" ofType:@"xml"];
       

2.初始化xml字符串
  NSString * xmlStr = [NSString stringWithContentsOfFile:xmlPath encoding:NSUTF8StringEncoding error:nil];
  

3.初始化一個GDataXMLDocument對象 , 因為解析時所有的內容都是從該對象中獲取,(所以需要將要解析的內容放入該對象)
   GDataXMLDocument * document = [[GDataXMLDocument alloc]initWithXMLString:xmlStr options:0 error:nil];
   

4.獲取根節點 (GDataXmlElement)
   GDataXMLElement * rootElement = [document rootElement];
   

5.獲取根節點的所有子節點
    NSArray * personElements = [rootElement elementsForName:@"person"];
   

6.遍歷數組,得到每一個person節點,然后再得到person節點下的子節點
 

    for (GDataXMLElement * element in personElements)

     {
        獲取person節點下的name節點
           GDataXMLElement * nameElement = [element elementsForName:@"name"].firstObject;
   
       (1).獲取開始標簽和結束標簽中間的值
            NSString * name = [nameElement stringValue];

    
        (2).獲取標簽中屬性中存儲的數據
            屬性對應的類GDataXMLNode
            GDataXMLNode * nameNode = [nameElement attributeForName:@"name"];
            NSString * name = [nameNode stringValue];

      }
    


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女