objective-c - XML 解析问题

标签 objective-c ios xml

我正在尝试解析文档目录中的 XML 文件(以在表格 View 中显示)。

<tickets>
  <ticket>
    <tid>11111</tid>
    <status>Open</status>
    <summary>Summary 1</summary>  //want to grab this
    <notes>Notes 1</notes>
  </ticket>
  <ticket>
    <tid>11112</tid>
    <status>Open</status>
    <summary>Summary 2</summary>  //want to grab this
    <notes>Notes 2</notes>
  </ticket>

  ...

</tickets>

我希望在表格 View 中显示summary。现在,我只是想获得一个 NSMutableArray,其中填充了所有摘要字符串。

我正在使用 XMLReader 创建一个包含所有内容的字典。然后,我使用以下代码尝试进行总结。

NSData *data = [NSData dataWithContentsOfFile:save];
NSString *xml = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

// Parse the XML into a dictionary
NSError *parseError;
NSDictionary *xmlDictionary = [XMLReader dictionaryForXMLString:xml error:&parseError];

NSDictionary *ticketsArray = [xmlDictionary objectForKey:@"tickets"];
NSDictionary *ticketArray = [ticketsArray objectForKey:@"ticket"];;
//Now have a dictionary with ticket... what to do next?

我不确定下一步该去哪里。你知道如何将所有摘要放入 NSMutableArray 中吗?如果愿意,我可以使用 XMLReader 以外的东西。

最佳答案

试试这个:

for (NSDictionary *d in ticketArray) {
    NSDictionary *d2 = [d objectForKey:@"summary"];
    [summaries addObject:[d2 objectForKey:@"text"]];
}

您为摘要文本返回的字符串可能需要修剪,但基本思路应该可行。

关于objective-c - XML 解析问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11697200/

相关文章:

objective-c - UIInterfaceOrientation 已知的用途是什么

ios - Firebase 类型 'AppDelegate' 不符合协议(protocol) 'FUIAuthDelegate'

ios - 在 iOS 7 中维护导航动画

ios - Swift - 如何从 XML 代码动态构建 iOS 用户界面?

c# - 复制 xml 文件并在特定位置插入新元素 - C#

ios - 结构化对象中的 RestKit 键存在

iphone - 我可以在 iPad 应用程序中获取 iPhone 数字键盘吗?

c# - XmlNodeList 上的 Any() linq 查询

objective-c - 如果标题很长,在 UIButton 的末尾设置点

ios - Deinit从未在自定义UIView上调用