当前位置:   article > 正文

TBXML 的简单使用_tbxmm

tbxmm

1.到github下载TBXML相关文件,主要使用的是TBXML.h TBXML.m 

2.将下载的那两个文件添加到项目中,如图:

   

3.如果你的项目是ARC型项目,则需要在 xxx.pch 文件末尾中添加一句 :“#define ARC_ENABLED”,否则会报错。

4.在需要解析xml文件的代码中添加上“TBXML.h”头文件,就可以利用TBXML框架来解析XML文件了。


我的xml文件内容:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Notes>
  3. <Note id="1">
  4. <CDate>2014-04-22</CDate>
  5. <Content>这是第一条信息</Content>
  6. <UserId>aboo</UserId>
  7. </Note>
  8. <Note id="2">
  9. <CDate>2014-03-22</CDate>
  10. <Content>二战时时期,九头蛇</Content>
  11. <UserId>jan</UserId>
  12. </Note>
  13. <Note id="3">
  14. <CDate>2014-04-30</CDate>
  15. <Content>神盾局特工,漫威漫画</Content>
  16. <UserId>sky</UserId>
  17. </Note>
  18. <Note id="4">
  19. <CDate>2014-04-03</CDate>
  20. <Content>美国队长2,超级士兵</Content>
  21. <UserId>罗杰斯</UserId>
  22. </Note>
  23. <Note id="5">
  24. <CDate>2014-03-01</CDate>
  25. <Content>钢铁侠3,史塔克工业</Content>
  26. <UserId>史塔克</UserId>
  27. </Note>
  28. <Note id="6">
  29. <CDate>1949-05-03</CDate>
  30. <Content>霍华德,史塔克父亲,佐拉博士</Content>
  31. <UserId>霍华德</UserId>
  32. </Note>
  33. </Notes>

我的TBXML解析XML文件代码:

  1. #pragma mark - 解析XML文件
  2. -(void)parseNotesXML
  3. {
  4. NSError *err = nil;
  5. TBXML *tbxml = [[TBXML alloc] initWithXMLFile:@"notes.xml" error:&err];
  6. TBXMLElement *root = tbxml.rootXMLElement;
  7. if (root) {
  8. // 根据子节点名称来获得子节点
  9. TBXMLElement *noteElement = [TBXML childElementNamed:@"Note" parentElement:root];
  10. while (noteElement != nil) {
  11. // 定义一个字典来存放数据
  12. NSMutableDictionary *noteDic = [[NSMutableDictionary alloc] init];
  13. // 读取Cdate标签里面的数据
  14. TBXMLElement *CDateElement = [TBXML childElementNamed:@"CDate" parentElement:noteElement];
  15. if (CDateElement != nil) {
  16. // 对于 <Tag>value</Tag> 型标签的xml读取里面的值
  17. NSString *cdate = [TBXML textForElement:CDateElement];
  18. // 将读取到的值存放进字典中
  19. [noteDic setValue:cdate forKey:@"CDate"];
  20. }
  21. // 读取Content标签里面的数据
  22. TBXMLElement *ContentElement = [TBXML childElementNamed:@"Content" parentElement:noteElement];
  23. if (ContentElement != nil) {
  24. NSString *content = [TBXML textForElement:ContentElement];
  25. [noteDic setValue:content forKey:@"Content"];
  26. }
  27. // 读取UserId标签里面的数据
  28. TBXMLElement *UserIDElement = [TBXML childElementNamed:@"UserId" parentElement:noteElement];
  29. if (UserIDElement != nil) {
  30. NSString *userId = [TBXML textForElement:UserIDElement];
  31. [noteDic setValue:userId forKey:@"UserId"];
  32. }
  33. // 对于 <Tag name="value"></Tag> 型标签的xml读取里面的值
  34. NSString *nId = [TBXML valueOfAttributeNamed:@"id" forElement:noteElement];
  35. [noteDic setValue:nId forKey:@"id"];
  36. // 将当期字典存放进可变数组中
  37. [_notes addObject:noteDic];
  38. // 寻找下一个节点
  39. noteElement = [TBXML nextSiblingNamed:@"Note" searchFromElement:noteElement];
  40. }
  41. }
  42. }

感觉TBXML框架真不错!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/732452
推荐阅读
相关标签
  

闽ICP备14008679号