NSXMLParser是标准库类
Book.xml
<?
xml version="1.0" encoding="UTF-8"
?>
<!--
Document created by: lishujun, code-style with XmlGrid Online XML Editor, http://xmlgrid.net
-->
<
book
>
<!--
<summary>
<author>金庸</author>
<content>sfdgasidfhasdfb</content>
</summary>
-->
<
chapters
>
<
chapter
name
="hello"
>hello,world</chapter><chapter name="lishujun">
i‘m lishujun
sdfsdfs aaaasdfsdf
qqqqqqqq
</chapter><chapter name="lishujun2">i‘m lishujun2</chapter></chapters></book>
XmlElement.h
#import <Foundation/Foundation.h>
@interface XmlElement : NSObject
@property (strong, nonatomic) NSString *elementName;
@property (strong, nonatomic) NSString *text;
@property (strong, nonatomic) NSDictionary *attributeDict;
@end
XmlElement.m
#import
"
XmlElement.h
"
@implementation
XmlElement
@synthesize
elementName;
@synthesize
text;
@synthesize
attributeDict;
@end
BookXmlParser.h
#import <Foundation/Foundation.h>
#import"XmlElement.h"@interface BookXMLParser : NSObject <NSXMLParserDelegate>
{
XmlElement *_element;
NSXMLParser *_parser;
}
-(id)initWithData:(NSData*)data;
-(BOOL)parse;
@end
BookXmlParser.m
#import
"
BookXMLParser.h
"
#import
"
XmlElement.h
"
@implementation
BookXMLParser
-(id)initWithData:(NSData*)data
{
if (self) {
_parser = [[NSXMLParser alloc]initWithData:data];
_parser.delegate = self;
}
return self;
}
-(BOOL)parse
{
_element = nil;
return [_parser parse];
}
-(void) parser:(NSXMLParser *)parser
didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
attributes:(NSDictionary *)attributeDict
{
[self processElement];
_element = [[XmlElement alloc]init];
_element.elementName = elementName;
_element.attributeDict = attributeDict;
_element.text = @"";
}
-(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
if ([_element.text isEqualToString:@""]) {
_element.text = string;
//NSLog(@"Now element is %@", _element.text); }
}
-(void) processElement
{
if (_element == nil) {
return;
}
NSLog(@"process:");
NSLog(@"%@, %@", _element.elementName, _element.text);
}
原文:http://www.cnblogs.com/code-style/p/4014240.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!