iphone之NSxmlparser的使用及注意事项 nsxmlparser转字典

IPhone之NSXMLParser的使用

首先,NSXMLParser必须继续NSXMLParserDelegate协议

@interface XMLHelper : NSObject<NSXMLParserDelegate>

首先设置XML数据,并初始化NSXMLParser

- (void)viewDidLoad {

NSMutableString *Strxml=[NSMutableStringstringWithString:@"<Body><xml1>11111111</xml1><xml2><xml3>3333333333</xml3></xml2></Body>"];

NSData *data=[NSData dataWithBytes:[Strxml UTF8String]length:[Strxml length]];


NSXMLParser *parser = [[NSXMLParser alloc]initWithData:data];//设置XML数据

[parser setShouldProcessNamespaces:NO];

[parser setShouldReportNamespacePrefixes:NO];

[parser setShouldResolveExternalEntities:NO];


[parser setDelegate:self];

[parser parse];

[super viewDidLoad];

}

//遍例xml的节点

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString*)elementName namespaceURI:(NSString *)namespaceURIqualifiedName:(NSString *)qName attributes:(NSDictionary*)attributeDict

{

NSLog(@"Name:%@",elementName);

}

//当xml节点有值时,则进入此句

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString*)string

{

NSLog(@"Value:%@",string);

}

//当遇到结束标记时,进入此句

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString*)elementName namespaceURI:(NSString *)namespaceURIqualifiedName:(NSString *)qName

{


}

//解析放生错误时进入此语句

- (void)parser:(NSXMLParser*)parser parseErrorOccurred:(NSError*)parseError{

错误带好说明

typedef enum _NSXMLParserError
{
NSXMLParserInternalError=1,
NSXMLParserOutOfMemoryError=2,
NSXMLParserDocumentStartError=3,
NSXMLParserEmptyDocumentError=4,
NSXMLParserPrematureDocumentEndError=5,
NSXMLParserInvalidHexCharacterRefError=6,
NSXMLParserInvalidDecimalCharacterRefError=7,
NSXMLParserInvalidCharacterRefError=8,
NSXMLParserInvalidCharacterError=9,
NSXMLParserCharacterRefAtEOFError,
NSXMLParserCharacterRefInPrologError=11,
NSXMLParserCharacterRefInEpilogError,
NSXMLParserCharacterRefInDTDError=13,
NSXMLParserEntityRefAtEOFError,
iphone之NSxmlparser的使用及注意事项 nsxmlparser转字典
NSXMLParserEntityRefInPrologError,
NSXMLParserEntityRefInEpilogError=16,
NSXMLParserEntityRefInDTDError,
NSXMLParserParsedEntityRefAtEOFError,
NSXMLParserParsedEntityRefInPrologError,
NSXMLParserParsedEntityRefInEpilogError=20,
NSXMLParserParsedEntityRefInInternalSubsetError,
NSXMLParserEntityReferenceWithoutNameError,
NSXMLParserEntityReferenceMissingSemiError=23,
NSXMLParserParsedEntityRefNoNameError,
NSXMLParserParsedEntityRefMissingSemiError,
NSXMLParserUndeclaredEntityError,
NSXMLParserUnparsedEntityError=27,
NSXMLParserEntityIsExternalError,
NSXMLParserEntityIsParameterError,
NSXMLParserUnknownEncodingError=30,
NSXMLParserEncodingNotSupportedError,
NSXMLParserStringNotStartedError,
NSXMLParserStringNotClosedError,
NSXMLParserNamespaceDeclarationError=34,
NSXMLParserEntityNotStartedError,
NSXMLParserEntityNotFinishedError,
NSXMLParserLessThanSymbolInAttributeError=37,
NSXMLParserAttributeNotStartedError,
NSXMLParserAttributeNotFinishedError,
NSXMLParserAttributeHasNoValueError=40,
NSXMLParserAttributeRedefinedError,
NSXMLParserLiteralNotStartedError,
NSXMLParserLiteralNotFinishedError,
NSXMLParserCommentNotFinishedError=44,
NSXMLParserProcessingInstructionNotStartedError,
NSXMLParserProcessingInstructionNotFinishedError,
NSXMLParserNotationNotStartedError,
NSXMLParserNotationNotFinishedError=48,
NSXMLParserAttributeListNotStartedError,
NSXMLParserAttributeListNotFinishedError,
NSXMLParserMixedContentDeclNotStartedError=51,
NSXMLParserMixedContentDeclNotFinishedError,
NSXMLParserElementContentDeclNotStartedError,
NSXMLParserElementContentDeclNotFinishedError,
NSXMLParserXMLDeclNotStartedError=55,
NSXMLParserXMLDeclNotFinishedError,
NSXMLParserConditionalSectionNotStartedError,
NSXMLParserConditionalSectionNotFinishedError,
NSXMLParserExternalSubsetNotFinishedError=59,
NSXMLParserDOCTYPEDeclNotFinishedError,
NSXMLParserMisplacedCDATAEndStringError,
NSXMLParserCDATANotFinishedError,
NSXMLParserMisplacedXMLDeclarationError=63,
NSXMLParserSpaceRequiredError,
NSXMLParserSeparatorRequiredError,
NSXMLParserNMTOKENRequiredError,
NSXMLParserNAMERequiredError,
NSXMLParserPCDATARequiredError=68,
NSXMLParserURIRequiredError,
NSXMLParserPublicIdentifierRequiredError,
NSXMLParserLTRequiredError,
NSXMLParserGTRequiredError,
NSXMLParserLTSlashRequiredError,
NSXMLParserEqualExpectedError,
NSXMLParserTagNameMismatchError,
NSXMLParserUnfinishedTagError,
NSXMLParserStandaloneValueError,
NSXMLParserInvalidEncodingNameError,
NSXMLParserCommentContainsDoubleHyphenError,
NSXMLParserInvalidEncodingError,
NSXMLParserExternalStandaloneEntityError,
NSXMLParserInvalidConditionalSectionError,
NSXMLParserEntityValueRequiredError,
NSXMLParserNotWellBalancedError,
NSXMLParserExtraContentError,
NSXMLParserInvalidCharacterInEntityError,
NSXMLParserParsedEntityRefInInternalError,
NSXMLParserEntityRefLoopError,
NSXMLParserEntityBoundaryError,
NSXMLParserInvalidURIError,
NSXMLParserURIFragmentError,
NSXMLParserNoDTDError,
NSXMLParserDelegateAbortedParseError=512
} NSXMLParserError;

}

xml节点特殊字符转换:

& --- & amp ;
< --- & lt ;
> --- & gt ;
' --- & apos ;
" --- & quot ;

标示遇到&使用&amp;代替,其他类似

  

爱华网本文地址 » http://www.413yy.cn/a/25101011/87800.html

更多阅读

月季花的养殖方法及注意事项 蟹爪兰嫁接方法配图

月季花的养殖方法及注意事项——简介 月季花又称“长春花”,有“花中皇后”的美称,盛开在5月--11月间,因为其花质秀美,惹人喜爱,所以大家对月季花是相当情有独钟的,那么月季花的养殖方法及注意事项有哪些呢?一起来看看吧~月季花的养殖方

中暑的急救方法及注意事项 中暑症状及急救方法

中暑(heatstroke)是指在高温和热辐射的长时间作用下,机体体温调节障碍,水、电解质代谢紊乱及神经系统功能损害的症状的总称。夏季是中暑的高发期,中暑后不及时处理会引起不可预知的后果,必须及时治疗。中暑的急救方法及注意事项——中署表

玻璃胶的正确使用方法及注意事项 玻璃胶使用注意事项

嘉鑫辉提醒业主:玻璃胶的使用方法及注意事项??????装修后因为玻璃胶质量不好或者是使用不当造成损失的家庭不在少数,在这里提醒您使用玻璃胶时要注意以下内容:????其实,家装平常用的玻璃胶按性能分为两种:酸性玻璃胶和中性玻璃胶。很

信用卡使用技巧及注意事项 银行信用卡申请技巧

信用卡使用技巧及注意事项——简介由于信用卡的实用性及便利性,并且信用卡一般都有20到到50天的免息期,所以基本上人人都一张或者几张的信用卡。信用卡用好了可以帮你省钱,用得不好就可能让你沦落为卡奴了。下面小编给大家分享一下使用

房屋装修的顺序及注意事项 什么季节装修房子最好

装修的顺序应该是:1前期设计——2主体拆改——3水电改造——4木工——5贴砖——6刷墙面漆——7厨卫吊顶——8橱柜安装——9木门安装——10地板安装——11铺贴壁纸——12散热器安装——13开关插座安装——14灯具安装——15五金洁具安

声明:《iphone之NSxmlparser的使用及注意事项 nsxmlparser转字典》为网友调皮的聚集分享!如侵犯到您的合法权益请联系我们删除