как передать локальный путь к NSXMLParser - PullRequest
0 голосов
/ 30 июня 2010

как передать локальный путь к 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);

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

Ответы [ 3 ]

1 голос
/ 06 января 2011

Эй, это все кое-что, что не справедливо.

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

        NSString *path=@"/Users/farshore/Desktop/prasanna/XMLParsing/Books-6.xml";  //this is ur path of xml file


        NSURL *url = [[NSURL alloc] initFileURLWithPath:path];
0 голосов
/ 30 июня 2010

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

0 голосов
/ 30 июня 2010

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

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

Подробнее на Руководство по программированию приложений iPhone: получение путей к каталогам приложений .

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

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

Однако:

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

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

...