iOS: XML 파일 처리
8005 단어 xml
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);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
XML이란 무엇입니까?이것은 저장, 검색 및 공유할 수 있는 형식으로 데이터를 저장하는 강력한 방법입니다. 가장 중요한 것은 XML의 기본 형식이 표준화되어 있기 때문에 시스템이나 플랫폼 간에 로컬 또는 인터넷을 통해 XML을 공유하거나...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.