解析/显示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,但我无法弄清楚如何使用它。

+0

你到底想干什么?当你使用NSXMLParser时会发生什么? –

+0

我不知道该把它放在哪里,我也不知道它是否需要另一个框架或它需要什么。 – user3089637

+0

看到这个例子http://iosbala.blogspot.in/2013/04/how-to-using-nsxmlparser-in-iphone-sdk.html – payal

声明就像一个属性:

@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 

检查以下几个环节:

  1. RSS Reader
  2. NSXMLParser Class Reference
+0

我在哪里放置委托方法,在AppDelegate.m/.h'文件? – user3089637

+0

@ user3089637:在添加解析器的相同文件中否。请查看教程了解更多信息。 –

+0

http://i.imgur.com/r6UIJIj.png我做了这个教程,但我只能看到一个跨越州和郊区的结果,然后在标签/按钮上显示格式化/解析结果。我也有一个错误,那就是那张照片。 – user3089637