2012-10-14 5 views
0

내 응용 프로그램 (iPad 응용 프로그램)에는 5 개의 폴더가 있고 각 폴더에는 하나의 XML 파일이 있습니다. 내 질문은 내 AppDelegate에에, 모든 .xml 파일을 호출 할 수있는 방법입니다여러 XML 파일 호출

I가 file1.xml, file2.xml, file3.xml, file4.xml, file5.xml (이 요구 사항의)

call 또는 file1 xml 경로 추가하기 :

NSString *xml = [[NSBundle mainBundle] pathForResource:@"file1" ofType:@"xml"]; 
NSData *Data = [NSData dataWithContentsOfFile:xml]; 
NSXMLParser *Parser = [[NSXMLParser alloc] initWithData:Data]; 
file1 *parser = [[file1 alloc] initXMLParser]; 

어떻게 appDelegate 클래스에 5 개를 모두 가질 수 있습니까?

내가 그들을 호출해야 : 난 그냥

EDIT 내 AppDelegate에 모두를 추가 할 필요가

와 내가 각각 또는 모든 정보 때문에 특정 파서 클래스를 작성해야 할 및 태그는 동일 이들 폴더는 I CANN "t는 예를 들어 구조를 변경

폴더 1/file1.xml

Folder2와/file2.xml Folder3/file3.xml 등

답변

0

for 루프를 만들고 파일을 하나씩로드/구문 분석하십시오. 어쨌든 (캐시 또는 데이터베이스에) 파싱 된 데이터를 어딘가에 저장해야 파싱 후에 파일 및 파서를 유지할 필요가 없습니다. 대신 캐시/데이터베이스에서 데이터를 검색하십시오.

+0

감사하지만 난 그게, 그것은 "단지 테스트 응용 프로그램 요구 사항 s 님의 폴더에서 호출해야하고, 그들이이 B-처럼 갖고 싶어 ( –

1

예, 구문 분석 할 각 XML 파일에 NSXMLParser 개체를 인스턴스화해야합니다. XML 파일을로드하는 간단한 방법은 kimsnarf가 말했듯이 for 루프를 사용하고 순서대로로드하는 것입니다. 그들이 번들에있는 것처럼 보이면, "Resources/SpecialXMLJunk"와 같은 "Resources"아래의 특정 경로에 붙이고, URLsForResourcesWithExtension:subdirectory:과 같은 결과를 반복하여로드합니다. XML 파일을 "Resources/SpecialXMLJunk"밖으로 가져 오기 위해). 그래서, 의사 틱,이 같은 아마 뭔가 :

NSArray *xmlResourceURLs = [mainBundle 
          URLsForResourcesWithExtension: @"xml" 
          subdirectory: xmlResourcesPath]; 
foreach (NSURL *xmlURL in xmlResourceURLs) 
    [self loadJunkXMLAtURL: xmlURL]; 
+0

고마워하지만 이후 폴더 형식 (요구 사항)을 변경할 수 없으며 각 폴더가 자신의 폴더에있는 이유는 무엇입니까? –

+0

하지만 폴더 이름이 같기 때문에 number를 변경하면 pathForResource와 같은 것을 사용할 수 있습니다. 폴더 % d/파일 % d 및 파일 유형 : @ "xml"?? –

+0

특정 요구 사항이있는 경우 예제를 사용하지 말고 이러한 특정 요구 사항을 제공하는 것이 좋습니다. 사용할 수있는 것에 관해서는 실제 요구 사항이있는 것입니다. 확실하지 않은 경우 문서를 읽으십시오. – nil