从 POST 方法解析/显示 XML [重复]

Posted

技术标签:

【中文标题】从 POST 方法解析/显示 XML [重复]【英文标题】:Parse/Display XML from a POST Method [duplicate] 【发布时间】:2013-12-11 05:22:55 【问题描述】:

好的,所以在我的 ios 应用程序上,我有一个返回 xmlHTTP Post 方法,就像这样

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

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

我要做的是在按钮或标签上显示此XML。 但不是像 Bold Sydney 和 NSW 那样的代码。 我将代码保存为

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

所以我通常调用strdata 来获取XML,但它以代码形式显示它,这就是问题所在。我看过使用 NSXMLParser 但我不知道如何使用它。

【问题讨论】:

你想做什么?当你使用 NSXMLParser 时发生了什么? 我不知道把它放在哪里,我不知道它是否需要另一个框架或它需要什么。 看这个例子iosbala.blogspot.in/2013/04/… 【参考方案1】:

声明如下属性:

@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

检查以下链接:

    RSS Reader NSXMLParser Class Reference

【讨论】:

我打算将 Delegate 方法放在哪里,在 AppDelegate.m/.h 文件中? @user3089637:在您添加解析器的同一个文件中没有。请查看教程以获取更多信息。 i.imgur.com/r6UIJIj.png 我完成了教程,但我只应该有一个跨越州和郊区的结果,然后在标签/按钮上显示格式化/解析的结果。我也有一个错误,就是那张照片。 @user3089637:你检查过我的答案吗?我使用了_parser,而不是解析器,也没有使用@synthesize parser; 合成它要求将所有_parser 更改为parser。一切都很好。

以上是关于从 POST 方法解析/显示 XML [重复]的主要内容,如果未能解决你的问题,请参考以下文章

解析Servlet中传入的多部分/表单数据参数的便捷方法[重复]

解析和处理 HTML/XML/纯文本页面 [重复]

java接受post请求问题,求大侠帮忙~~

j2me:如何将字节数组解析为 xml,然后从该 XML 读取和显示特定数据

无效格式xml的最佳PHP解析器[重复]

带有curl的php解析器xml,仅显示我想要的标签[重复]