iphone - 当我在不同类别中有多个同名节点时,如何使用 NSXMLParser 读取 XML?

标签 iphone objective-c ios nsxmlparser

我怎样才能使用 NSXMLParser 进行这种类型的 XML 响应,我对两次“点击”感到困惑,它会击中,所以如何使用一个对象管理流程并保存数据,请帮帮我,

</campaign_summary_response>

<summary> <clicks>6</clicks>
<conversions>1</conversions>      
<conversion_rate>0.1666666666666666666666666667</conversion_rate>     
<revenue>22.26555000000000</revenue> 
<revenue_converted>22.26555000000000</revenue_converted>     
<currency_symbol>$</currency_symbol>  
<currency_symbol_converted>$</currency_symbol_converted>
</summary>

<campaigns>
<campaign> <offer_id>100</offer_id>
<offer_name>$100 Wendy's Gift Card + Free Frosty</offer_name>     
<campaign_id>1781</campaign_id> <vertical_name>Free Stuff</vertical_name> 
<price_format>CPA</price_format>
<price>0.0000</price> 
<impressions>0</impressions>
<clicks>6</clicks>   
<conversions>1</conversions>
<conversion_rate>0.1666666666666666666</conversion_rate>  
<revenue>15.0000</revenue>
<revenue_converted>22.26555000000000</revenue_converted> 
<epc>2.50000000000000000000000</epc>
<currency_symbol>€</currency_symbol>   
<currency_symbol_converted>$</currency_symbol_converted>
</campaign> </campaigns>

</campaign_summary_response>

如何按照委托(delegate)方法进行编码

    - (void)parser:(NSXMLParser *)parser 
               didEndElement:(NSString *)elementName
               namespaceURI:(NSString *)namespaceURI 
               qualifiedName:(NSString *)qName {

这样我就可以将所有值保存在一个对象中并在显示器上显示。

最佳答案

didStartElement方法中。

if([elementName isEqualToString:@"summary"]) summary = YES;
if([elementName isEqualToString:@"campaign"]) campaign = YES;

didEndElement方法中。

if(summary) {

    if([elementName isEqualToString:@"revenue"]) // revenue in summary
    if([elementName isEqualToString:@"summary"]) summary = NO;
}

if(campaign) {

    if([elementName isEqualToString:@"revenue"]) // revenue in campaign
    if([elementName isEqualToString:@"campaign"]) campaign = NO;
}

关于iphone - 当我在不同类别中有多个同名节点时,如何使用 NSXMLParser 读取 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7219196/

相关文章:

ios - 将物理体添加到 Spritekit 节点

ios - 转到新的 UIViewController 时如何从层次结构中删除 UIViewController?

ios - 导致 textview 隐藏的约束

ios - 如何在用户向上滑动 iOS 中的推送通知时执行操作

iphone - 链接器选项 'Link all assemblies"和 "Link SDK assemblies only"导致第 3 方静态库中出现 undefined symbol

iphone - 核心图 : Allow horizontal scrolling in positive quadrant only

ios - iOS设备实际尺寸(以英寸为单位)

iphone - 如何排除连接2个NSArray?

ios - 我将 NSString 放入 NSUUID 中,但我记录了错误的 UUID iOS

objective-c - NavigationController 返回跳过 View