【问题标题】:storing integer in a int variable using NSXMLParser, in obj c在 obj c 中使用 NSXMLParser 将整数存储在 int 变量中
【发布时间】:2011-04-27 07:37:19
【问题描述】:

大家好

我正在做一个 iphone 项目,因为我需要从 xml 中获取一个 int 值,所以 如何使用 NSXMLParser 将存储在 xml 中的整数值存储到 int 变量中(通过解析 xml)

谁能提前给我一些例子,,,thanx

【问题讨论】:

  • 你能用 NSXMLParser 获取数字的字符串吗?
  • 向我们展示一个您尝试解析的 XML 的小示例,并向我们展示您到目前为止已经走了多远。
  • 5 这是我的 xml 我做了解析也 n 将 5 存储在字符串中,然后我将类型转换为 int 但该 int 变量包含一些 5 位数字但不是 5

标签: iphone objective-c int nsxmlparser


【解决方案1】:

这是一种方法(假设你已经知道如何使用 NSXMLParser)

xml:

<intVariable>10</intVariable>

代码:

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 
{
    if(!currentElementValue)
        currentElementValue = [[NSMutableString alloc] initWithString:string];
    else
        [currentElementValue appendString:string];
}

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName
  namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName
    attributes:(NSDictionary *)attributeDict 
{
     if ([elementName isEqualToString:@"intVariable"])
        intVariable = [currentElementValue intValue];

     [currentElementValue release];
     currentElementValue = nil;
}

(currentElementValue 和 intVariable 分别是可变字符串和 int 成员)。

【讨论】:

  • 在 currentElementValue 值中你存储该值 10 并且该 currentElementValue 是字符串,但我需要将其存储在整数变量中
  • 一切都被 NSXMLParser 解释为 NSString。您使用 intValue 从字符串中获取整数。如果您想使用其他数据类型,请考虑使用 JSON (SBJSON) 而不是 XML,您可以获取 NSNumber。
猜你喜欢
  • 2016-11-24
  • 1970-01-01
  • 2015-02-14
  • 2014-04-26
  • 1970-01-01
  • 2014-09-09
  • 1970-01-01
  • 1970-01-01
  • 2020-09-30
相关资源
最近更新 更多