从POST方法解析/显示XML

时间:2013-12-11 05:22:55

标签: ios xml parsing button

好的,我的iOS应用程序上有一个HTTP Post方法返回xml,就像这样

<?xml version="1.0" encoding="utf-8"?>
<geocode>
    <suburb>Sydney</suburb>
    <state>NSW</state>
</geocode>

通过获取纬度和经度的HTTP POST方法返回

我要做的是在按钮或标签上显示此XML。 但不是像 Bold 悉尼的代码,而是新南威尔士州的代码。 我将代码保存为

NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *strdata=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];

所以我通常会调用strdata来获取XML,但它会以代码形式显示它,这就是问题所在。我查看了使用NSXMLParser,但我无法弄清楚如何使用它。

1 个答案:

答案 0 :(得分:0)

声明一个属性:

@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