gpt4 book ai didi

ios - 将 XML 文件从站点获取到电话

转载 作者:行者123 更新时间:2023-12-01 17:33:04 28 4
gpt4 key购买 nike

好的。所以我制作了我的第一个 iPhone 应用程序原型(prototype),它将解析给定的 XML 文件。该文件与组成该应用程序的所有其他文件一起用于测试目的,但最终我希望该应用程序从 Web 服务中提取 XML 数据。

所以我编写了一个 PHP 脚本来读取数据并为我创建一个 XML 文件。但是我该如何将 XML 文件从 Web 服务器获取到手机呢?

这就是我所拥有的:

  1. 可通过 URL 访问的 XML 文件 - 即//localhost/v/p.xml
  2. 一个 iOS 6 应用程序,可以解析当前在应用程序中加载的 XML 文件(放在我的 XCode 项目中的 Supporting Files 文件夹下)。

那么将 XML 文件传输到手机的最佳方式是什么? LazyTableImages 是我应该关注的东西吗?

我应该这样做吗:

NSURL *url = [[NSURL alloc] initFileURLWithPath:@"http://localhost/v/p.xml"];
NSData *xmlData = [[NSData alloc] initWithContentsOfURL:url];

//NSString *path = [[NSBundle mainBundle] pathForResource:@"profileXML" ofType:@"xml"];
//NSData *xmlData = [[NSData alloc] initWithContentsOfFile:path];

顶部 2 行在哪里替换注释掉的行?就这么简单吗?

最佳答案

您可以使用stringWithContentsOfURL:encoding:error:,记录如下:

http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html

例如:

[NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://localhost/v/p.xml"] encoding:NSUTF8StringEncoding error:nil];

更新:

正如 Jim 所说,NSURLConnection 是非阻塞的,如果您想保护您的文件不被公共(public)访问,它允许您提交凭据。如果你想使用它,它看起来像这样:

NSString *authenticationURL = @"http://foo.bar";
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:authenticationURL]];
NSString *escUsername = [username stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *escPassword = [password stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

[request setHTTPMethod: @"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
[request setHTTPBody:[[NSString stringWithFormat:@"username=%@&password=%@", escUsername, escPassword] dataUsingEncoding:NSUTF8StringEncoding]];

NSURLConnection *urlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

#pragma mark Url connection delegate methods

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
NSString *responseText = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", responseText);
}

关于ios - 将 XML 文件从站点获取到电话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13769413/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com