【发布时间】:2026-01-21 08:55:02
【问题描述】:
这是我上一个问题的延续;
Parse/Display XML from a POST Method
它确实有效,但答案没有说的是如何将解析后的 xml 显示到我想要的按钮上。
我有一个 HTTP POST 方法,它调用用户的 Lat & Lon 以获取关于他们所在郊区的响应,它发布和接收都很好,我只是将 XML 响应显示到标签以查看它是否有效但是,我想在按钮上显示解析的 XML,特别是响应给出的类别之一。
这是我的代码
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
element = elementName;
if ([element isEqualToString:@"geocode"]) {
geocode = [[NSMutableDictionary alloc] init];
state = [[NSMutableString alloc] init];
suburb = [[NSMutableString alloc] init];
}}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
if ([element isEqualToString:@"state"]) {
[state appendString:string];
} else if ([element isEqualToString:@"suburb"]) {
[suburb appendString:string];
}}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if ([elementName isEqualToString:@"geocode"]) {
[geocode setObject:state forKey:@"state"];
[geocode setObject:suburb forKey:@"suburb"];
}}
我使用了解析器的这一部分
parser = [[NSXMLParser alloc] initWithData:urlData];
[parser setDelegate:self];
[parser setShouldResolveExternalEntities:NO];
[parser parse];
【问题讨论】: