NSXMLParserを使用してこのタイプのXMLを解析するにはどうすればよいですか
<category> <categoryName> userName</categoryName> <categoryName>password</categoryName><category>
NSXMLParserを使用してこのタイプのXMLを解析するにはどうすればよいですか
<category> <categoryName> userName</categoryName> <categoryName>password</categoryName><category>
次のようなhファイルで配列と文字列を宣言します。
NSMutableArray *aryCategory;
NSString *strCategroyName;
パーサーの使用を開始するための.mファイル内:
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:yourData]; // your data will be instance of NSData or NSMutableData
parser.delegate = self;
[parser parse];
これは、xmlデータを取得すると実行されます。NSXMLParserDelegate
結果の処理には、次のように使用できます。
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
if ([elementName isEqualToString:@"category"]) {
aryCategory = [[NSMutableArray alloc] init];
strCategroyName = @"";
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
strCategroyName = [NSString stringWithFormat:@"%@%@", strCategroyName, string];
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if ([elementName isEqualToString:@"categoryName"]) {
[aryCategory addObject:strCategroyName];
strCategroyName = @"";
}
}
これで、配列にすべてのカテゴリ名を入力できます。
お役に立てれば :)
パーサーのデリゲートである<category>
indidStart
および要素を記述します。didEnd