iPhone:NSXMLParser的foundCharacters方法称为多时间单个标签

我能够解析XML文件。 但我面临着奇怪的错误。 我的XML文件格式是这样的

<contact> <contactServiceTag>3B92E6A7-B599-EAE9-1CB7B5592CB8695C</contactServiceTag> <contactDeletedBoolean>0</contactDeletedBoolean> <contactLinkStatus>Stored</contactLinkStatus> <contactName>P4</contactName> − <contactEmailAddresses> <workEmail>updatedp4@isol.co.in</workEmail> <personalEmail/> <otherEmail/> </contactEmailAddresses> <contactLastUpdated>{ts '2010-01-22 10:05:42'}</contactLastUpdated> <contactPhotoExists>False</contactPhotoExists> </contact>

在分析过程中,当解析器解析元素contactLastUpdated,然后foundCharacters方法称为多时间,它返回值{第一次运行,\ TS'在第二轮,2010-01-22十时05分42秒在第三轮,\'就在最后一次执行第四跑,最后}。 所以我得到的只是最后的值(})当我叫didEndElement方法。

请建议如何解决这种类型的错误

--------------解决方案-------------

在你执行<NSXMLParserDelegate>回调像解析器:foundCharacters:,你应该存储在找到字符的实例变量,可能是连接字符串在一起,这样,当分析器:didEndElement:的namespaceURI:qualifiedName中:被调用时,你有充分的元素值/体提供给你的对象,通过它的实例变量的状态。

您可能还阅读了关于SAX和DOM解析器之间的区别。 NSXMLParser是SAX解析器是使用不太方便,而且性能比DOM解析器更好。

进入元素时创建一个字符串,追加到它时,foundCharacters被调用,然后检查didEndElement其长度/价值?

无论Jon的和暴徒“的答案是正确的,那就是要做到这一点。 为了更好地理解它是如何工作的,我建议你看看苹果的地震XML示例项目。 它使用NSXMLParser以非常明确的方式,也显示如何处理你的情况。

分类:iphone 时间:2015-03-15 人气:0
本文关键词: iphone,nsxmlparser
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 2.383 (s). 10 q(s)