国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

IOS開發之XML解析以及下拉刷新上拉加載更多的分享

2019-11-14 19:19:32
字體:
來源:轉載
供稿:網友

IOS開發之xml解析

  

  1.XML格式

<?xml version="1.0" encoding="utf-8" ?> 表示XML文件版本, 內部文本使用的編碼

<root> 表示根節點

<CityName>北京</CityName>  一個結點, CityName是結點名, 北京結點值

<Item key="1" value="A"></Item>     key="1"是結點屬性, key屬性名, "1"屬性值

注意: XML結構理解為層層嵌套的樹形結構

<?xml version="1.0" encoding="utf-8" ?><root>    <systemConfig>      <CityName>北京</CityName>      <CityCode>201</CityCode>      <ParentCityCode> 0</ParentCityCode>      <areaCode>010</areaCode>      <AgreementUrl></AgreementUrl>      <IntentionLevel>                               <Item key="1" value="A"></Item>        <Item key="2" value="B"></Item>        <Item key="3" value="C"></Item>      </IntentionLevel>      <ComeChannel>                                   <Item key="1" value="報紙"></Item>        <Item key="2" value="雜志"></Item>      </ComeChannel>      <BuyCarBudget>                               <Item key="1" value="40-50萬"></Item>        <Item key="2" value="50-60萬"></Item>      </BuyCarBudget>     <IntentionColor>         <Item key="1" value="紅"></Item>         <Item key="2" value="黃"></Item>     </IntentionColor>    </systemConfig></root>

  2.如何使用GData開源庫實現XML解析

常用的XML解析方式

  (1)unix - libxml2 C接口

  (2)NSXMLParser UI提供的XML解析庫, 使用比較麻煩

  (3)google開發GData

  2.1配置

  2.2 GData的使用

 //1.加載和解析XML文件    NSString *path = [[NSBundle mainBundle] pathForResource:@"xml.txt" ofType:nil];    NSData *data = [[NSData alloc] initWithContentsOfFile:path];    // GDataXMLDocument 表示XML文檔對象    // initWithData 使用NSData初始化, 就是解析    GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:data options:0 error:nil];        //2.獲取指定結點 XPath    //CityName路徑: /root/systemConfig/CityName    NSArray *array = [doc nodesForXPath:@"/root/systemConfig/CityName" error:nil];    //CityName    GDataXMLElement *element = [array firstObject];    NSLog(@"name=%@ value=%@",element.name,element.stringValue);        //3.獲取指定結點的屬性    NSArray *items = [doc nodesForXPath:@"/root/systemConfig/ComeChannel/Item" error:nil];    GDataXMLElement *item = [items firstObject];    //獲取屬性, 屬性使用GDataXMLElement表示    for(GDataXMLElement *attr  in item.attributes)    {        NSLog(@"a-name=%@ avalue=%@",attr.name,attr.stringValue);    }            //4.獲取所有指定名字的結點(不管位置)    //XPath語法: //Item    NSArray *allItem = [doc nodesForXPath:@"//Item" error:nil];    for (GDataXMLElement *e in allItem) {        NSLog(@"name = %@",e.name);    }        //5.獲取所有指定名字的屬性(不管哪個結點的)    //XPath語法: //@value    NSArray *allValue = [doc nodesForXPath:@"//@value" error:nil];    for (GDataXMLElement *e in allValue) {        NSLog(@"value = %@",e.stringValue);    }        //6.逐層遍歷XML文件    //獲取根節點    GDataXMLElement *root = doc.rootElement;    //獲取子節點    //root.children    //獲取子節點個數    //root.childCount    //獲取指定名字的子節點    //root elementsForName:<#(NSString *)#>

 

IOS開發之下拉刷新上拉加載更多

常用的下拉刷新的實現方式

  (1)UIRefreshControl

  (2)EGOTableViewRefresh

  (3)AH3DPullRefresh

  (4)MJRefresh

  (5)自己實現

具體刷新方式,下次再說!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昔阳县| 昆山市| 清苑县| 新龙县| 东兰县| 孝昌县| 清新县| 凌海市| 新竹市| 阳新县| 高邑县| 桑植县| 黄大仙区| 芷江| 逊克县| 西充县| 阳泉市| 宣恩县| 木里| 福海县| 精河县| 盐津县| 株洲市| 安平县| 西盟| 许昌市| 中西区| 徐闻县| 自贡市| 历史| 龙游县| 邹城市| 潼南县| 勐海县| 白水县| 松潘县| 玉环县| 华安县| 西宁市| 德安县| 中江县|