2012-08-08 86 views
0

對於我正在編寫的XML應用程序,我正在使用以下tutorial,但我無法弄清楚如何將NSURL更改爲XML文件在iPhone上的位置。在iPhone上解析XML

//XMLAppDelegate.m 

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    NSURL *url = [[NSURL alloc] initWithString:@"sites.google.com/site/iphonesdktutorials/xml/..."; 
    NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:url]; 
    //Initialize the delegate. 
    XMLParser *parser = [[XMLParser alloc] initXMLParser]; 
    //Set delegate [xmlParser setDelegate:parser]; 
    BOOL success = [xmlParser parse]; 
    if(success) 
     NSLog(@"No Errors"); 
    else 
     NSLog(@"Error Error Error!!!"); 
    [window addSubview:[navigationController view]]; 
    [window makeKeyAndVisible]; 
} 
+0

可能是'''NSURL * url = [[NSURL alloc] initWithString:@「http://sites.google.com /site/iphonesdktutorials/xml/Books.xml「];'''? – 2012-08-08 12:48:49

+0

請發佈您用來加載數據文件的代碼。 – Caleb 2012-08-08 12:48:59

+0

我不希望它從Web服務中讀取。我需要iPhone上的XML文件。應用必須從那裏讀取 – Scubadivingfool 2012-08-08 13:32:44

回答

1

NSURL提供了用於輕鬆地創建文件的URL,但如果該文件是應用程序的資源之一,以獲得您需要的URL最簡單的方法是使用一個NSBundle:

NSURL *url = [[NSBundle mainBundle] URLForResource:@"MyDataFile" withExtension:@"xml"]; 

否則,可能想看看+[NSURL fileURLWithPath:]

+0

好吧,所以我將Url代碼更改爲下面的代碼,但它崩潰 NSURL * url = [[NSBundle mainBundle] URLForResource:@「MyDataFile」withExtension:@「xml」]; 我是否需要顯示文件位置? – Scubadivingfool 2012-08-11 15:54:26

+0

什麼導致了崩潰?另外,你的XML文件存儲在哪裏?它是在您的應用程序的包中,在文檔文件夾或其他地方? – Caleb 2012-08-11 19:02:28

+0

我相信這是導致崩潰的NSURL函數。 xml文件被放入resouse文件夾中。我不確定是否需要直接通向它或將其放在別的地方。 – Scubadivingfool 2012-08-12 13:44:27

0

我相信這是導致崩潰的NSURL函數。 xml文件被放入resouse文件夾中。我不確定是否需要直接放入它或將它放在其他地方