iphone - 无法解析以下 XML?

标签 iphone objective-c ios xml-parsing nsxmlparser

我有 img id="#" 的连续标签,其中 # 从 1 到 9 变化。

标签的描述由 float 值组成。

当我使用标准 NSXML 解析器时,我没有获得所有值。

我的 XML 供引用:

<img id="1">-0.0111328,-0.0635608,0.152549,0.11211,-0.0250431,

            -0.0370875,0.0862391,0.0970791,-0.0195908,

            -0.00892297,0.0791795,0.0554013,0.00362028,0.0138572,0.0432729,

             0.0253036,-0.0770325,0.14065,0.118424,0.1787,

             0.0734354,0.160883,0.101831,0.237038,0.0681151,0.178331,

             0.106532,0.224731,0.133766,0.222096,0.165214,0.240752,

             -0.0280366,0.106239,0.052094,0.110642,   

</img>

如何解析上面的 XML?

请帮帮我。

谢谢

最佳答案

这是因为parser:foundCharacters:不会一次传送所有字符。您需要连接 parser:didStartElement:namespaceURI:qualifiedName:attributes: 的回调之间获得的所有字符串。和parser:didEndElement:namespaceURI:qualifiedName:您获得的<img>标签。

在下面的代码中,bufNSMutableString您的解析器委托(delegate)的 ivar。

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict {
    if ([qualifiedName isEqualToString:@"img"]) {
        buf = [NSMutableString string];
    }
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
    if ([qualifiedName isEqualToString:@"img"]) {
        buf = [buf stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
        NSLog(@"Got %@", buf);
    }
}

- (void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
    [buf appendString:string];
}

关于iphone - 无法解析以下 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10974474/

相关文章:

iphone - 用作 UINavigationBar titleVIew 时未调用 UISearchBar 委托(delegate)?

ios - ios8如何保持后台持续获取位置?

objective-c - 如何获取图像 objective-C 的路径

ios - 从 swift 派生的 obj-c 类的类别

iphone - iOS 应用程序更新可以停滞到特定日期吗?

iphone - ScrollView 中的选择器不滚动

iphone - iPhone 上的 NSData writeToFile

iphone - Autolayout - 拉开 super View ?

ios - 我的 NSMutableDictionary 删除对象 当我在 IOS 中删除 NSMutableArray 时?

ios - 在单独的线程上进行 iPhone CoreLocation 调用的最佳方法?