【问题标题】:how to get response in two different arrays?如何在两个不同的数组中获得响应?
【发布时间】:2012-12-20 05:30:53
【问题描述】:

我正在做一个天气预报应用程序。所以我要获得雅虎服务API。以下代码是

<yweather:forecast day="Thu" date="20 Dec 2012" low="70" high="89" text="Partly Cloudy" code="30"/>
<yweather:forecast day="Fri" date="21 Dec 2012" low="71" high="90" text="Partly Cloudy" code="30"/>

我需要在两个不同的数组中获取这两个标签的属性值...

第一个是一个数组,第二个是另一个数组

如何才能帮助我提前谢谢

【问题讨论】:

    标签: ios xml parsing


    【解决方案1】:

    试试这个:

    - (void)parser:(NSXMLParser *)parser
    didStartElement:(NSString *)elementName
      namespaceURI:(NSString *)namespaceURI
     qualifiedName:(NSString *)qualifiedName
        attributes:(NSDictionary *)attributeDict
    {
        if([elementName isEqualToString:@"forecast"])
        {
            if(firstarray.count == 0)
            {
                firstarray = [attributeDict allValues];
            }
            else
            {
                secondarray = [attributeDict allValues]
            }
        }
    }
    

    【讨论】:

    • 它的显示是这样的......不兼容的指针类型从 NSArray 分配给“NSMutableArray”_strong
    • 这是因为你已经声明了 NSMutableArray 而 [attributeDict allValues] 返回 NSArray。使用 NSArray 而不是 NSMutableArray 或使用 - (void)addObjectsFromArray:(NSArray *)otherArray 方法插入“=”运算符。
    • 如果你想要名称和值都比你必须使用 NSDictionary 而不是 NSArray。
    • 如果你想要基本的 NSDictionary 到这里techotopia.com/index.php/Objective-C_Dictionary_Objects
    【解决方案2】:

    您可以使用事件驱动解析器NSXMLParser

    还有,这是在解析时handle elements 的方法。委托方法parser:didStartElement:namespaceURI:qualifiedName:attributes:attributes 字典参数将为您提供可以根据需要处理的元素属性,即。添加到数组中。

    【讨论】:

      猜你喜欢
      • 2018-05-26
      • 1970-01-01
      • 2015-06-20
      • 1970-01-01
      • 2020-06-13
      • 1970-01-01
      • 1970-01-01
      • 2017-10-24
      • 1970-01-01
      相关资源
      最近更新 更多