DOM解析使用Google提供的一個開源高效的XML解析工具GDataXMLNode ,它的效率要比NSXMLParser 要快10倍
使用方式:
1.小導入系統動態鏈接庫 libxml2.2.dylib
2.在buildSettings中的Header Search Path 中添加 /usr/include/libxml2
3.在buildSettings中的Other Linker Flags 中添加 -lxml2
獲取解析文件路徑
NSString * xmlPath = [[NSBundle mainBundle] pathForResource:@"Person" ofType:@"xml"];
2.初始化xml字符串
NSString * xmlStr = [NSString stringWithContentsOfFile:xmlPath encoding:NSUTF8StringEncoding error:nil];
3.初始化一個GDataXMLDocument對象 , 因為解析時所有的內容都是從該對象中獲取,(所以需要將要解析的內容放入該對象)
GDataXMLDocument * document = [[GDataXMLDocument alloc]initWithXMLString:xmlStr options:0 error:nil];
4.獲取根節點 (GDataXmlElement)
GDataXMLElement * rootElement = [document rootElement];
5.獲取根節點的所有子節點
NSArray * personElements = [rootElement elementsForName:@"person"];
6.遍歷數組,得到每一個person節點,然后再得到person節點下的子節點
for (GDataXMLElement * element in personElements)
{
獲取person節點下的name節點
GDataXMLElement * nameElement = [element elementsForName:@"name"].firstObject;
(1).獲取開始標簽和結束標簽中間的值
NSString * name = [nameElement stringValue];
(2).獲取標簽中屬性中存儲的數據
屬性對應的類GDataXMLNode
GDataXMLNode * nameNode = [nameElement attributeForName:@"name"];
NSString * name = [nameNode stringValue];
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。