2012-04-12 6 views
0

내 응용 프로그램은 XML 일종의 사전 초기화 프로그램으로 작동하도록하고 싶습니다. xml 파일을 분석하고 화면을 그려보고 싶습니다.NSXMLParser : 여기서 값을 저장 하시겠습니까?

<app> 
    <screens>   
    <screen name="myscreen1"> 
      <font fontsize="32" fontcolor="#000000" fontface="font.ttf"/> 

      <button tmpl="bk"/> 

      <list area="0px 74px 100% 100%"> 
       <item tmpl="myitem1" target="myitemelsewhere"> 
        <image tmpl="myitem1" img="myimg1.png"/> 
        <text tmpl="myitem1">Test</text> 
       </item> 
       <item tmpl="myitem2" target="myitemelsewhere"> 
        <image tmpl="myitem2" img="myimg2.png"/> 
        <text tmpl="myitem2">Test</text> 
       </item> 
      </list> 
    </screen> 
<!--screen 2 the same way --> 
</screens> 
</app> 

내가 NSXMLparser를 구현하고 난 단순히 속성과 태그를 읽을 수 있습니다 : 그래서 예를 들어 내가 구조체의 XML 파일이 있습니다. 그게 이 아니라입니다. 내 질문은. 첫 번째 요소 (ex myscreen1)를 가져올 때 가장 좋은 아이디어는 무엇이며, 나중에 모든 화면 선언 태그와 특성을 가져 오게됩니까? ? NSDictionary? NSArray? 예를 들면 다음과 같습니다.

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict 
{ 
    element = [NSMutableString string]; 

    if([elementName isEqualToString:@"screen"]) 
    { 
     //What should i do here to tell my app to store all attributes? Where to put this? 
    } 
} 
+0

방법에 대한 ... 바르? – QED

+0

이것은 XML의 절정입니다. 실제 xml에서는 많은 매개 변수가 더 많습니다. 매개 변수가 모두 필요하지 않습니다. 사전/배열/집합 (어쩌면 사전 배열)을 만드는 방법이 있다고 생각하고 싶습니다. 그런 다음 몇 가지 새로운 매개 변수를 추가하면 극단적으로 간단해질 것입니다. – Kuba

+0

나는 네가 거기에있는 것 같아. XML 문서를 읽거나 샘플 코드를 살펴본 다음 몇 가지 시도를하고 다시 해보십시오. 연구 노력 – QED

답변

1

일반적으로 스트리밍되는 데이터를 보관할 변수와 처리중인 XML 태그를 저장할 변수가 있습니다. 위에 제시된 장소는 현재 처리중인 XML 태그를 설정하는 것입니다. 당신이 시작하는 다음 예제 코드의 큰 조각이다 :

http://weblog.bignerdranch.com/?p=48

+0

좋은 예. 그래서 클래스에 변수를 만들 수 있습니다. 그리고 이것은 여전히 ​​진행 중일 것입니다. Thx, 그 많은 exmplain. – Kuba

+1

네, XML에서 저장하는 클래스를 만들고 클래스에는 몇 가지 변수가 있습니다. userName 및 userPhoto 변수가있는 User 클래스 일 수 있습니다. –

+0

죽은 링크 :-(실제로 내가 찾고자하는 바는 사전의 계층 구조로 XML을 읽는 샘플 코드입니다. 모든 샘플 코드는 Apple에서 작성해야합니다. –

관련 문제