標籤:
歡迎-------(北京-iOS移動開發金牌教師QQ:2592675215)韓老師給你帶來XML解析課程
今天給大家講解下xml解析的第三方簡單用法;首先我解釋下,json和xml解析格式。
JSON格式,輕量級解析,一般都是字典套數組,或者數組套字典。非常簡單。
XML格式,一般都是節點形式的存在如:
<?xml version="1.0" ?>
<students>
<student name="aa" gender="男" age="22"/>
<student name="bb" gender="女" age="23"/>
<student name="cc" gender="男" age="24"/>
</students>
那麼我解釋下上面的這段xml格式。
1.<?xml version="1.0" ?>首先這是聲明,xml聲明這一點是規定的,當然如果你是做前端的不必要在乎這些,這是後端伺服器的任務。
2.<students>是節點,一個xml裡面未必存在一個節點,也許會有多個,每個節點裡面的子節點都是當前節點的需求
3.<student name="aa" gender="男" age="22"/>子節點,前面說了<students>是節點,<student name="aa" gender="男" age="22"/>是子節點。
這裡我講解是第三方GDataXML用法
那麼我們就針對上面的xml格式去解析它。下面咱們看下怎麼去做。
首先切記匯入你相應的第三方檔案;
NSData *data...............從伺服器返回過來的資料
GDataXMLDocument *doc=[[GDataXMLDocument alloc] initWithData:data options:0 error:nil];
GDataXMLElement *root=doc.rootElement;//students;擷取根節點
****這裡的root.children:students節點的所有子節點:
for (GDataXMLElement *student in root.children) {
WYStudent *stu=[[WYStudent alloc] init];
GDataXMLNode *name=student.attributes[0];//擷取第一個屬性
stu.name=[name stringValue];//擷取屬性儲存的資料
GDataXMLNode *gender=student.attributes[1];
stu.gender=[gender stringValue];
GDataXMLNode *age=student.attributes[2];
stu.age=[age stringValue];
[self.studentArr addObject:stu];這裡我利用了模型,mvc開發模式。丟給模型後又丟給了數組
}
這時你就可以拿取數組裡的資料了。這裡說下,現在第三方解析xml,很多種。選擇適合自己一種就ok。當然多學習其他類型更好。我會找個時間再給大家更新利用其他第三方解析xml的相關文檔。請你敬請等待。
iOS XML解析使用-韓國慶