如何使用Objective-C在IOS应用程序中上传.xml文件?

时间:2015-04-17 12:43:02

标签: ios objective-c

在我的IOS应用程序中,我有一个abc.xml文件,通过它我可以获取数据并在屏幕上显示(我已经完成了这个,这没有问题),我的问题是,点击按钮我想要将任何.xml文件上传到我的应用程序(我的ipad中有一些.xml文件),并希望用.xml文件替换abc.xml文件,(然后我将通过新上传的文件获取数据) )

就像网络中的“选择文件”选项

我们可以使用Objective-C在iOS应用中执行此操作吗?

2 个答案:

答案 0 :(得分:0)

iOS使用.plist设置配置文件。我不知道这会有多好用,但你可以尝试一下这样的东西......

NSMutableDictionary *abcDict = [NSMutableDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"abc" fileType:@"xml"]];
NSString *someString = (NSString*)[abcDict valueForKey:@"someString"];
NSNumber *someNumber = (NSNumber*)[abcDict valueForKey:@"someNumber"];
NSDictionary *someDictionary = (NSDictionary*)[abcDict valueForKey:@"someDict"];
NSArray *someArray = (NSArray*)[abcDict valueForKey:@"someArray"];
BOOL *someBoolean = [((NSNumber*)[abcDict valueForKey:@"someBool"]) booleanValue]

只需根据您的数据类型更改代码即可。 BOOL有点奇怪,但其他一切都是这样编写的。使用正确的密钥名称,如果XML不起作用,请尝试将.plist文件插入您的应用程序!

答案 1 :(得分:0)

如果我明白你想要什么,这应该成功。

    NSURL  *url = [NSURL URLWithString:linkURL];
    NSData *urlData = [NSData dataWithContentsOfURL:url];
    if ( urlData )
    {
        BOOL success = [db writeToFile:@"locationOfTheFile" atomically:YES];
        if (success) {
            //all went well
        }else{
            //error
        }

    }

编辑: 如果文件位于应用程序的根目录下,则可以使用此方法获取路径。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];

BOOL success = [db writeToFile:[documentsDir stringByAppendingPathComponent:@"fileName"];