2010-06-30 2 views
0

как пройти локальный путь к NSXMLParserкак пройти локальный путь к NSXMLParser

как этот

NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:storePath]; 

где storepath является локальный путь, как это:

/var/mobile/Applications/56EEB906-2B73-493C-9BE7-2732440CDB69/Documents/xml1.php 

и мой код например:

//NSURL *urla = [[NSURL alloc] initWithString:storePath]; 
NSURL *urla = [[[NSURL alloc] init] fileURLWithPath:storePath]; 

//NSData *dataa = [NSData dataWithContentsOfURL:urla]; 

NSLog(@"urls ois %@",urla); 

помочь мне, почему я получаю нулевое значение

ответ

0

Попробуйте это:

NSArray *paths = NSSearchPathForDirectoriesInDomains(
        NSDocumentDirectory, 
        NSUserDomainMask, YES 
       ); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSURL *urla = [NSURL fileURLWithPath:[documentsDirectory 
         stringByAppendingString:@"/xml1.php"]]; 

Более подробную информацию на iPhone Application Programming Guide: Getting Paths to Application Directories.

Обновление: Есть общее недоразумение, что stringByTrimmingCharactersInSet. Он не заменяет все пробелы в строке, он удаляет только пробелы в начале и конце.

Если вы хотите избавиться от пробелов, вам нужно их заменить самостоятельно, используя что-то вроде stringByReplacingCharactersInRange:withString:.

Однако:

  • Я не уверен, что вы могли бы заменить эти строки с, чтобы получить правильный путь. Насколько я знаю, на симуляторе путь к папке «Документы» приложения имеет в нем пробелы (которые случайно вызываются в связанном документе).
  • Я не уверен, почему бы вам не беспокоиться. Эта строка является допустимым путем (если вы действительно создали файл <app>/Documents/xml1.php, конечно); и согласно документации NSXMLParser, initWithContentsOfUrl принимает любой полный URL-адрес со схемой, поддерживаемой NSURL, и поддерживается file://.

Если есть конкретная ошибка, возвращается NSXMLParser, добавьте ее на свой вопрос (или спросите еще об одном), чтобы мы могли помочь вам с реальной проблемой.

+0

спасибо, но как удалить эти места ?? файл: //localhost/Users/applefan/Library/Application%20Support/iPhone%20Simulator/3.1.3/Applications/134C5D58-D930-4F0A-B2F7-D25A170D6F09/Documents/xml1.php – ram

+0

); \t \t NSString * documentsDirectory = [paths objectAtIndex: 0]; \t documentsDirectory = [documentsDirectory stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]]; \t \t NSLog (@ "documentsDirectory is% @", documentsDirectory); \t \t \t \t NSURL * URLC = [NSURL fileURLWithPath: [documentsDirectory \t \t \t \t \t \t \t \t \t \t \t stringByAppendingString: @ "/ xml1.php"]]; \t \t \t \t \t \t \t \t // URLC = [URLC stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]]; \t \t NSLog (@ "urls is% @", urlc); URLC все еще имеет пространство плз помощь – ram

+0

как этот Иле: //localhost/Users/applefan/Library/Application%20Support/iPhone%20Simulator/3.1.3/Applications/FD5A8AF3-0B07-4D56-8477-97F0DCEF15B5/ Документы/xml1.php – ram

0

Мое предположение было бы потому, что вы читаете файл PHP напрямую, а не передаете его через PHP, поэтому вывод не является XML.

1

Эй Это все, что нечестно.

я предлагаю это, очень простой

 NSString *[email protected]"/Users/farshore/Desktop/prasanna/XMLParsing/Books-6.xml"; //this is ur path of xml file 


     NSURL *url = [[NSURL alloc] initFileURLWithPath:path]; 
Смежные вопросы