XML文件轉(zhuǎn)化成NSData對象的方法
更新時間:2015年08月12日 11:54:26 投稿:mrr
這篇文章主要介紹了XML文件轉(zhuǎn)化成NSData對象的方法,需要的朋友可以參考下
NSData *xmlData = [[NSData alloc]initWithContentsOfFile:[NSString stringWithFormat:@"%@/People.xml",[[NSBundle mainBundle] resourcePath]]];
//2.將xmlData轉(zhuǎn)化成xml文檔
GDataXMLDocument *xmlDocument = [[GDataXMLDocument alloc]initWithData:xmlData options:0 error:nil];
//3.得到節(jié)點
GDataXMLElement *rootElement = xmlDocument.rootElement;
//4.得到子節(jié)點
/*NSArray *elementArray = rootElement.children;
//得到classone節(jié)點
GDataXMLElement *classoneElement = [elementArray firstObject];
for(GDataXMLElement *element in classoneElement.children)
{
//得到當(dāng)前節(jié)點的文本值
NSLog(@"%@",element.stringValue);
if (element.children.count>0) {
GDataXMLElement *infoElement = [element.children lastObject];
//獲得節(jié)點的所有屬性和屬性值
NSArray *attArray = infoElement.attributes;
for (GDataXMLElement *attElement in attArray) {
//得到屬性名和屬性值
NSLog(@"%@-%@",attElement.name,attElement.stringValue);
}
}
}
*/
//模糊查找
NSArray *eArray = [rootElement nodesForXPath:@"http://info" error:nil];
NSLog(@"%@",eArray);
iPhone開發(fā) 解析xml NSData
具體內(nèi)容請看下文代碼分析:
xml字符串為:
<users>
<user name="hoge" age="20" />
<user name="fuga" age="30" />
</users>
//解析按鈕事件
-(IBAction)btnXml
{
NSString* str= [uitextview1 text];
//string轉(zhuǎn)成data
NSData *xmlData = [str dataUsingEncoding: NSUTF8StringEncoding];
//對xml進(jìn)行解析需要使用NSXMLParser類,首先聲明一個NSXMLParser對象
//開始解析
NSXMLParser* xmlRead = [[NSXMLParser alloc] initWithData:xmlData];//初始化NSXMLParser對象
[xmlRead setDelegate:self];//設(shè)置NSXMLParser對象的解析方法代理
[xmlRead parse];//調(diào)用代理解析NSXMLParser對象,看解析是否成功
}
//解析器,從兩個結(jié)點之間讀取內(nèi)容
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
//NSLog(@"%@",string);
}
//獲得結(jié)點結(jié)尾的值
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
//NSLog(@"%@",elementName);
}
//獲得結(jié)點頭的值
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
attributes:(NSDictionary *)attributeDict
{
//NSLog(@"%@",elementName);
if([elementName isEqualToString: @"user"])
{
NSString* strName=[attributeDict valueForKey:@"name"];
NSString* strAge=[attributeDict valueForKey:@"age"];
NSString* strUser=uitextview2.text;
strUser=[strUser stringByAppendingFormat:@"姓名:%@,年齡:%@\n",strName,strAge];
[uitextview2 setText:strUser];
//NSLog(@"姓名:%@,年齡:%@", strName,strAge);
}
}
相關(guān)文章
js數(shù)組常用操作方法小結(jié)(增加,刪除,合并,分割等)
這篇文章主要介紹了js數(shù)組常用操作方法,結(jié)合實例總結(jié)了javascript數(shù)組的增加、刪除、合并、分割等操作技巧,需要的朋友可以參考下2016-08-08
Javascript的數(shù)組與字典用法與遍歷對象的技巧
Javascript 的數(shù)組Array,既是一個數(shù)組,也是一個字典(Dictionary)。先舉例看看數(shù)組的用法2012-11-11
javascript實現(xiàn)前端成語點擊驗證優(yōu)化
這篇文章主要介紹了javascript實現(xiàn)前端成語點擊驗證優(yōu)化,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-06-06

