iphone - 在 HTTP 响应中获取 XML 并读取它

标签 iphone objective-c ios xml

我有以下方法,我还有另一种方法可以调用此方法,但还没有成功。

- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
    namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName
    attributes:(NSDictionary *)attributeDict{

        if ([elementName isEqualToString:@"isphone-config"]) {
            Pusername = [attributeDict valueForKey:@"authentication_username"];    
            Ppassword = [attributeDict valueForKey:@"authentication_password"];
            Pidentity = [attributeDict valueForKey:@"sip_identity"];
            Pdomain   = [attributeDict valueForKey:@"domain"];
            Pprotocol = [attributeDict valueForKey:@"protocol"];
            Pudpport  = [attributeDict valueForKey:@"registrar_port"];
            Ptcpport  = [attributeDict valueForKey:@"listening_port"];

            NSLog(@"Title: %@, ID: %@", Pusername, Ppassword);
        }
    }
}

我通过以下方法调用它..

NSString* username = [[NSUserDefaults standardUserDefaults] stringForKey:@"username_preference"];
NSString* accountPassword = [[NSUserDefaults standardUserDefaults] stringForKey:@"password_preference"];
NSString* urlString = [NSString stringWithFormat:@"https://%@:%@@test.com/test.php",username,accountPassword];
NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

parser = [[NSXMLParser alloc] initWithData: response];

NSLog(@"at parser %@", parser);

[parser setDelegate:self];

我在调用解析器的代码的最后一行遇到问题。我假设这一行将调用方法解析器,如果我错了请纠正我。我不知道我必须导入、包含或实现哪些文件、接口(interface)和类。

最佳答案

使用 NSXMLParser 进行 XML 解析要困难得多,查看 Apple 的示例“earthquakes”。

相反,我建议您使用另一个 XML 解析器。例如,this one :

Also, good article about how to choose parser.

http://www.raywenderlich.com/725/how-to-read-and-write-xml-documents-with-gdataxml

关于iphone - 在 HTTP 响应中获取 XML 并读取它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9175280/

相关文章:

iphone - 取消按钮在 iPhone 短信集成中不起作用

iPhone:超出范围 [0 .. 8]'

ios - 无法将类型 '(TVSessionConfigurationBuilder!) -> Void' 的值转换为预期的参数类型 'TVSessionConfigurationBuilderBlock!'

iphone - GCC 4.2.1 darwin 避免重复符号

objective-c - 使用 Objective-C 宏访问 Swift 中的 UIView 帧测量

objective-c - 如何从 UIView 导航到 UIViewController

ios - 如何在 MBCalendarkit 中显示选定月份的事件

ios - TableView : Cannot subscript a value of type '[String]' with an index of type '[String]'

ios - iphone 中的环境光传感器

ios - 发送对象和发送对象指针的区别