Table of Content
XML
-
可扩展标记语言
-
区分大小写
-
命名不能以
xml
(XML
、Xml
...)、数字、下划线开头,不能出现冒号 -
<?xml version="1.0" standalone="no" encoding="UTF-8"?>
-
W3C认证,IBM & Microsoft联合推广
-
能够解决所有异构数据库系统之间的数据传递
DTD
- 验证XML元素是否符合规范
<!DOCTYPE myfile = [<!ELEMENT name (#PCDATA)>]>
元素
<name>Bill</name>
属性
<name color="red">Bill</name>
中color="red"
注释
-
<!--
起始 -
-->
结束
验证
解析
NSXMLParser
- 需要遵守
<NSXMLParserDelegate>
协议
parser
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];
parser.delegate = self;
[parser parser];
-
开始解析文档,做一些准备工作
- (void)parserDidStartDocument:(NSXMLParser *)parser {}
-
找到元素
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementNam namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attribute {}
-
找到元素内容
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {}
-
元素结束
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {}
-
结束文档解析,通常做一些收尾工作,就可以更新UI了
- (void)parserDidEndDocument:(NSXMLParser *)parser {}
-
在网络处理中通常需要做相应的错误处理
- (void)parser:(NSXMLParser *)parser
\b<[1]{a-z0-9}+\s?{a-z0-9}*\=?"?{a-z0-9}*"?>[1]\w+<[1]/[1]{a-z0-9}+>[1]\b