이 내 countries.xml 파일을 구문 분석하는 동안.오류 "오류 구문 분석 문서!"내 XML
는 PLS
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict/>
<countris>
<country>
<countryname>india<countryname>
</country>
</countris>
</plist>
이
내viewDidLoad
입니다 ..... 내가 아이폰 OS에 새로운 오전 내 질문에 대답을 문제 것입니다 : 내가 implemantig
NSString *filename = [[NSBundle mainBundle] pathForResource:@"countris" ofType:@"xml"];
NSData *data = [NSData dataWithContentsOfFile:filename];
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];
Myparser *myParser = [[Myparser alloc] init];
[parser setDelegate:myParser];
BOOL success = [parser parse];
if (success)
{
NSMutableArray *users = [myParser arraydata];
NSString *log= [NSString stringWithFormat:
@"This is an array of User objects:\n\n%@",
[users description]];
NSLog(log);
}
else
{
NSLog(@"Error parsing document!");
[[[UIAlertView alloc] initWithTitle:nil
message:@"Error parsing document!"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil] show];
}
내 Myparser.m 파일 내 NSXMLParserDelegate 프로토콜은
#import "Myparser.h"
#import "MyParserData.h"
@implementation Myparser
@synthesize mydata,myparser,arraydata,flag,currentElementValue;
- (id) init {
if(self = [super init]) {
currentElementValue = [[NSMutableString alloc] initWithString:@""];
arraydata = [[NSMutableArray alloc] init];
flag = FALSE;
}
return self;
}
- (void)parser:(NSXMLParser *)parser
didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qualifiedName
attributes:(NSDictionary *)attributeDict {
if ([elementName isEqualToString:@"countris"]) {
return;
} else if ([elementName isEqualToString:@"country"]) {
self.mydata = [[MyParserData alloc] init];
} else {
self.currentElementValue = [[NSMutableString alloc] init];
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
if (self.currentElementValue) {
[self.currentElementValue appendString:string];
}
}
- (void)parser:(NSXMLParser *)parserdidEndElement:(NSString *)elementNamenamespaceURI: (NSString *)namespaceURIqualifiedName:(NSString *)qName {
if ([elementName isEqualToString:@"counteis"]) {
return;
}
if ([elementName isEqualToString:@"country"]) {
[self.arraydata addObject:mydata];
self.mydata = nil;
} else {
[self.mydata setValue:self.currentElementValue forKey:elementName];
}
self.currentElementValue = nil;
}
@end
무엇이 문제입니까? U 형 문제를 지정하지 않았다면 어떻게 해결할 수 있습니까? – manujmv
@ manujmv 문제는 질문 제목에 있다고 생각합니다 –
도움을 주셔서 감사합니다. 문제가 생겼습니다 ... –