iphone - 解析 XML 内部 XML 标签 Objective-C

标签 iphone objective-c ios xml parsing

我想为以下 XML 中的每个电台创建一个充满 NSDictionary 对象的 NSDictionary 或 (NSArray):

<stations lastUpdate="1328986911319" version="2.0">
    <station>
        <id>1</id>
        <name>River Street , Clerkenwell</name>
        <terminalName>001023</terminalName>
        <lat>51.52916347</lat>
        <long>-0.109970527</long>
        <installed>true</installed>
        <locked>false</locked>
        <installDate>1278947280000</installDate>
        <removalDate/>
        <temporary>false</temporary>
        <nbBikes>12</nbBikes>
        <nbEmptyDocks>7</nbEmptyDocks>
        <nbDocks>19</nbDocks>
    </station>

    ... more...

    <station>
        <id>260</id>
        <name>Broadwick Street, Soho</name>
        <terminalName>003489</terminalName>
        <lat>51.5136846</lat>
        <long>-0.135580879</long>
        <installed>true</installed>
        <locked>false</locked>
        <installDate>1279711020000</installDate>
        <removalDate/>
        <temporary>false</temporary>
        <nbBikes>12</nbBikes>
        <nbEmptyDocks>4</nbEmptyDocks>
        <nbDocks>18</nbDocks>
    </station>

    ...

 </stations>

实现这一目标的最佳方法是什么?现在我有一个 NSDictionary,其中有一个对象和一个键 - “stations”,但我想要 NSDictionarys 的 NSDictionary(或 NSArray)。

我正在使用 Troy Brant 的 XML 解析器 - http://troybrant.net/blog/2010/09/simple-xml-to-nsdictionary-converter/

我猜这会涉及某种循环,但我不太确定如何解决这个问题。任何正确方向的帮助或指示将不胜感激。

谢谢。

最佳答案

我也使用XMLReader,它很容易理解
我查看了您的 xml,我假设您想使用站标签数组。
这是我的解决方案:

NSDictionary *dictXML= [XMLReader dictionaryForXMLString:testXMLString error:&parseError];
NSArray *arrStation = [[dictXML objectForKey:@"stations"] objectForKey:@"station"];//this would return the array of station dictionaries

现在您已经有了电台标签数组,您可以执行您想要的操作,例如显示所有 id:

for(int i=0;i<[arrStation count];i++){
   NSDictionary *aStation = [arrStation objectAtIndex:i];
   NSLog(@"id = %@",[aStation objectForKey:@"id"]);
}

您还可以使用快速枚举循环编写更少的代码:

for(NSDictionary *aStation in arrStation){
  NSLog(@"id = %@",[aStation objectForKey:@"id"]);
}

希望有帮助:)

关于iphone - 解析 XML 内部 XML 标签 Objective-C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9250788/

相关文章:

ios - 两个 View 在垂直方向上不明确,Xcode 警告消息处理约束

iphone - iOS 杀死 myapp 问题

iphone - 从 iPhone 应用程序发送推文

ios - 单元格中有不必要的填充的 UILabel

ios - 使用 Firebase Auth 和 Swift 设置 currentUserID 的最佳方式

iphone - xcode 4 保持项目中的文件夹与模拟器同步的奇怪之处。

iphone - 核心图形复杂的笔触填充形状

ios - UICollectionViewController 嵌套在普通的 UIViewController 中

iphone - 需要标量类型的表达?

ios - UIBarButtonItem 长按/短按