【问题标题】:How can I parse XML data using AFNetworking 3.0如何使用 AFNetworking 3.0 解析 XML 数据
【发布时间】:2018-12-13 14:43:42
【问题描述】:

我正在做一个简单的项目来使用这个a link显示天气预报 我实现了以下代码来获得结果...

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager GET:@"https://graphical.weather.gov/xml/SOAP_server/ndfdXMLserver.php?wsdl" parameters:nil progress:nil success:^(NSURLSessionDataTask * task, id responseObject) {
    NSData * data = (NSData *)responseObject;
    NSLog(@"Response String: %@", [NSString stringWithUTF8String:[data bytes]]);
 }failure:^(NSURLSessionDataTask *  operation, NSError *  error) {
    NSLog(@"Error the result is unfound in the database %@", error);

}];

在上面的代码中,我终于检索到了 XML,但我不知道如何解析它并使其显示在表格视图中......我是 ios 开发新手,任何人都可以帮助我如何获取数据和在表格视图中显示它..

【问题讨论】:

标签: ios objective-c xml xml-parsing afnetworking-3


【解决方案1】:

像属性列表这样的每个 xml 文件都可以转换为 NSDictionary,我是 swift 开发人员,但是,如果您在 xml 中有数据,则可以将其转换为 NSDictionary

在 Swift 4 中:

do {
   if let plist = try PropertyListSerialization.propertyList(from: plistData, 
    format: nil)
        as? NSDictionary  {
            // Successfully read  list.
            print(plist)

        } else {
            print("not a dictionary")
        }
} catch let error {
    print("not a plist:", error.localizedDescription)
}

在 Objective-C 中:

NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"myPlist.plist"];

if (![[NSFileManager defaultManager] fileExistsAtPath:plistPath]) {
    plistPath = [[NSBundle mainBundle] pathForResource:@"myPlist" ofType:@"plist"];
}

NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:plistPath];

在这种情况下,您可以传递数据而不是 Plist

现在您可以将数据缓存到模型中并在 UITableView 中显示它们

祝你好运;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    相关资源
    最近更新 更多