2014-12-05 3 views
1

XML의 속성에 따라 구문을 분석하고 사전으로 저장하고 싶습니다. 추적 및 URL을 저장NSXMLParser로 속성에 따라 XML을 구문 분석

얻기 태그 이름 :

XML 출력은 무엇 내가 지금 뭐하는 거지 그

<Tracking event="firstElement"> 
http://www.firstElement.com 
</Tracking> 

처럼 보인다. 그러나 마지막에는 어떤 URL 연결된 이벤트 메소드가 알려지지 않았습니다.

내가 할 수있는 NSDictionary에 저장하고 다음과 같이 호출 할 수 있습니다

[사전 objectForKey : "firstElement"@]

-> (NSURL *) http://www.firstElement.com

내가 어떻게 달성 할 수

? 베스트 감사합니다 ..

답변

2

당신은 NSXMLParserDelegate에서 이벤트를 가져올 수 있습니다

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict 
{ 
    // reset temp data 
    [self.mutableData setString:@""]; 

    if([elementName isEqualToString:@"Tracking"]) { 
     NSString *event = [attributeDict objectForKey:@"event"]; 
    } 
} 

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 
{ 
    [self.mutableData appendString:string]; 
} 

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 
{ 
    if([elementName isEqualToString:@"Tracking"]) { 
     NSString *URL = [NSString stringWithFormat:@"%@", self.mutableData]; 
    } 
} 

구문 분석 @{event:URL}

mutableData과 URL 설정하고 사전을 얻을 수

@property (nonatomic) NSMutableString *mutableData; 

희망이 도움의 MutableString 속성입니다 당신 :

+0

그래서 내가 전자를 설정하면 통풍구. URL에 어떻게 접근 할 수 있습니까? –

+0

정말 NSString * 이벤트 부분을 가져 오지 마십시오. 어디에서 사용할거야? –

+0

코드는 원하는 값만 가져 오는 방법을 보여줍니다. 귀하의 경우에는 이벤트를 ivar로 유지하고 URL을 얻을 때 사전에 항목을 추가해야합니다. – Imotep