解析就是從事先規定好的格式中提取資料
xml的解析方式有兩種 sax解析 dcm解析(安卓有乙個pull)
sax解析:
nsstring *path = [[nsbundle mainbundle] pathforresource:@"message" oftype:@"txt"];
nsdata *data = [nsdata datawithcontentsoffile:path];
開始解析
1 建立解析物件 繫結資料
nsxmlparser *parse = [[nsxmlparser alloc] initwithdata:data];
2 指定** 記得要引入**
parse.delegate = self;
3 開始解析
[parse parse];
// 開始解析文件的方法
- (void)parserdidstartdocument:(nsxmlparser *)parser;
// 開始解析解析標籤的方法
- (void)parser:(nsxmlparser *)parser didstartelement:(nsstring *)elementname namespaceuri:(nsstring *)namespaceuri qualifiedname:(nsstring *)qname attributes:(nsdictionary*)attributedict ;
// 解析中間資料項
- (void)parser:(nsxmlparser *)parser foundcharacters:(nsstring *)string ;
// 結束解析標籤
- (void)parser:(nsxmlparser *)parser didendelement:(nsstring *)elementname namespaceuri:(nsstring *)namespaceuri qualifiedname:(nsstring *)qname ;
// 結束解析文件
- (void)parserdidenddocument:(nsxmlparser *)parser ;
當檔案書寫錯誤的時候可以呼叫這個方法來檢視
- (void)parser:(nsxmlparser *)parser parseerroroccurred:(nserror *)parseerror;
dom解析:
拿到解析資料
nsstring *path = [[nsbundle mainbundle] pathforresource:@"message" oftype:@"txt"];
nsdata *data = [nsdata datawithcontentsoffile:path];
建立解析物件
gdataxmldocument *doc = [[gdataxmldocument alloc] initwithdata:data options:0 error:nil];
拿到根節點
gdataxmlelement *root = doc.rootelement;
// 拿到子節點
nsarray *modelarray = root.children;
// 初始化data陣列
self.data = [nsmutablearray array];
// 遍歷陣列取到每乙個model對應的節點
for (gdataxmlelement *modelele in modelarray)
[self.data addobject:p]; }
使用系統提供的類進行json解析
nsstring *path = [[nsbundle mainbundle] pathforresource:@"json" oftype:@"txt"];
nsdata *data = [nsdata datawithcontentsoffile:path];
//nsarray *array = [nsjsonserialization jsonobjectwithdata:data options:nsjsonreadingallowfragments error:nil];
self.data = [nsmutablearray array];
for (nsdictionary *dic in array)
使用 jsonkit 進行json解析: 需要引入jsonkit檔案
nsstring *path = [[nsbundle mainbundle] pathforresource:@"json" oftype:@"txt"];
nsdata *data1 = [nsdata datawithcontentsoffile:path];
//nsarray *array = [data1 objectfromjsondata];
// 初始化陣列
self.data = [nsmutablearray array];
// 遍歷陣列
for (nsdictionary *dic in array)
json和xml資料的解析
一 json資料 1一條json就像乙個物件,也想像oc中的陣列,且內嵌了很多鍵值對字典 二 xml資料 三 多層資料是如何構架起來的?四大節點 整體資料,分類方式key,個體集合,層級資料 3.1解析組資料?我的理解 1一條json資料,可看做乙個物件,很多屬性和屬性值的集合。就好比字典,擁有很多...
jquery 解析返回的xml和json
一 jquery 解析ajax請求返回的xml格式的資料 1 傳送ajax請求 2 servlet 端返回的值 二 jquery 解析返回的json 格式的資料,這裡是返回的json物件格式,如果返回的是json陣列格式,就是js陣列,所以按照js陣列獲取 1 ajax 請求以及解析過程 2 ser...
Android中XML和JSON資料的解析小案例
一 xml package com.itheima.ceshouji.domain 13691689238 廣東深圳移動神州行卡 名雖可得,利則難獲,藝界發展,可望成功 凶帶吉 public class product public void settype string type public s...