解析/显示XML
好了,在我的iOS应用程序我有一个HTTP Post
方法返回xml
,这样解析/显示XML
<?xml version="1.0" encoding="utf-8"?>
<geocode>
<suburb>Sydney</suburb>
<state>NSW</state>
</geocode>
它返回通过HTTP POST
方法获得的纬度和经度
我该做什么是在按钮或标签上显示此XML
。 但不是代码就像大胆悉尼和少于新南威尔士州。 我的代码保存为
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *strdata=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
所以我通常在strdata
呼吁得到XML
但它显示在其代码的形式和多数民众的问题。我看着使用NSXMLParser,但我无法弄清楚如何使用它。
声明就像一个属性:
@porperty (nonatomic, strong) NSXMLParser *parser;
与实现等的方法:
- (void)parseXML
{
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
_parser = [[NSXMLParser alloc] initWithData:urlData];
[_parser setDelegate:self];
[_parser parse];
}
并实现以下NSXMLParser
委托方法:
- (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
检查以下几个环节:
我在哪里放置委托方法,在AppDelegate.m/.h'文件? – user3089637
@ user3089637:在添加解析器的相同文件中否。请查看教程了解更多信息。 –
http://i.imgur.com/r6UIJIj.png我做了这个教程,但我只能看到一个跨越州和郊区的结果,然后在标签/按钮上显示格式化/解析结果。我也有一个错误,那就是那张照片。 – user3089637
你到底想干什么?当你使用NSXMLParser时会发生什么? –
我不知道该把它放在哪里,我也不知道它是否需要另一个框架或它需要什么。 – user3089637
看到这个例子http://iosbala.blogspot.in/2013/04/how-to-using-nsxmlparser-in-iphone-sdk.html – payal