IOS: OC - XML (Sax) 해석
2. Message. h 에서 속성 을 설명 합 니 다. / / model 에서 설정 한 속성 은 xml 에 있 는 태그 이름과 같 아야 합 니 다. @ interface Message: NSObject
@property(nonatomic,copy)NSString * receiver; @property(nonatomic,copy)NSString * content; @property(nonatomic,copy)NSString * sender;
3. Message. m 에 붕 괴 를 방지 하 는 방법 / 붕 괴 를 방지 하 는 방법 - (void) setValue: (id) value forUndefinedKey: (NSString *) key {
} 4. storyboard 에서 button 컨트롤 을 끌 고 관련 방법 5. ViewController. m < 1 > 속성 / / 해석 을 정의 할 때 배열 @ property (nonatomic, strong) NSMutableArray * dataArray 를 사용 해 야 합 니 다. /가 변 문자열 조합 을 정의 하려 면 @ property (nonatomic, strong) NSMutableString * appendString; <2 > 방법 에서 해석 시작
- (IBAction)saxParseForXML:(UIButton *)sender {
/*
sax :
XML
*/
//1.
NSString * filepath = [[NSBundle mainBundle]pathForResource:@"message.txt" ofType:nil ];
//2.
NSData * fileData = [NSData dataWithContentsOfFile:filepath];
//3:
NSXMLParser * parser = [[NSXMLParser alloc] initWithData:fileData];
//4
parser.delegate = self;
//5.
[parser parse];
}
//
//4.1 :
-(void)parserDidStartDocument:(NSXMLParser *)parser{
NSLog(@" ");
// 。 ,
self.dataArray =[NSMutableArray array];
}
//4.2
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
NSLog(@" ");
//
if ([elementName isEqualToString:@"message"]) {
//
Message * message = [Message new];
//
[self.dataArray addObject:message];
}
// ,
self.appendString = [NSMutableString string];
}
//4.3
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
NSLog(@" ");
// , , ,
[self.appendString appendString:string];
}
//4.4
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{
NSLog(@" ");
// , model 1
Message * message = [self.dataArray lastObject];
// KVC key model
[message setValue:self.appendString forKey:elementName];
// ,
self.appendString = nil;
}
//4.5
-(void)parserDidEndDocument:(NSXMLParser *)parser{
NSLog(@" ");
// :
[self.dataArray enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSLog(@"%@,%@,%@",[obj receiver],[obj content],[obj sender]);
}];
}
-(void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError{
NSLog(@" %@",parseError);
}
```c
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.