如何使用 AFNetworking 3.0 解析 XML 数据

How can I parse XML data using AFNetworking 3.0

提问人:Minato 提问时间:7/5/2018 更新时间:7/5/2018 访问量:295

问:

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

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开发的新手,任何人都可以帮我做些什么来获取数据并将其显示在tableview中。

iOS Objective-C XML 解析 AFNeting-3

评论

0赞 Jigar 7/5/2018
查看此链接 troybrant.net/blog/2010/09/simple-xml-to-nsdictionary-converter
0赞 Minato 7/5/2018
该代码@IOS中出错
0赞 Minato 7/6/2018
@IOS 我可以在目标 c 中获得条带支付教程吗
0赞 Jigar 7/6/2018
对不起,我没有演示,请检查 stripe.com/docs/mobile/ios
0赞 Minato 7/9/2018
@IOS 单击加载按钮时如何制作视图弹出窗口

答:

0赞 Mohammad Reza Koohkan 7/5/2018 #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 中显示它们

祝你好运;)