问题标签 [nsxmlparser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
23959 浏览

xml - NSXMLParserErrorDomain 错误 5. 是什么意思?

好的,我回来做这个任务了。我从我的网络服务器正确下载了我的 XML,其 URL 指向服务器的文件,但是,当我检测到网络“无法访问”时,我只需将 URL 指向我的应用程序的本地 XML,然后我收到以下错误(注意文件是服务器上的直接副本)。

我找不到详细描述,但我认为这是说 URL 指向一个无法访问的位置。我是否将此资源存储在错误的位置?我想我想要它在 HomeDirectory / Library 中??

调试输出

0 投票
2 回答
544 浏览

iphone - 如何在objective-C中使用NSXMLParser解析用不同于utf-8的另一个编码器编码的xml文件?

有没有办法使用 NSXMLParser 解析用 windows-1254 编码的 xml 文件?当我尝试时,没有调用 didStartElement 方法。

代码是

XML 是

0 投票
3 回答
1683 浏览

delegates - NSOperation 不会取消 NSXMLParser。继续调用委托上的方法导致崩溃

我正在尝试在另一个线程上下载一些 XML,并对其进行解析。

我释放“控制器”,然后在 NSOperationQueue 上调用 cancelAllOperations。并在尝试将 nSXMLParser 的委托设置为 nil 的 NSoperation 上实现方法“取消”。

但是大约一秒钟后,NSXMLParser 仍然活着并且正在踢并调用它的委托(现在不再存在)上的方法,从而导致崩溃。

我只是不明白,我做错了什么?

0 投票
4 回答
2905 浏览

iphone - 大xml的NSXMLParser iPhone内存策略

我使用 NSXMLParser 构建了一个解析算法。我怀疑将内存使用量保持在最低限度的最佳策略是什么。

我有一个 valueObject(例如“Person”),这个对象有 ≈ 30 个 NSString 属性,在解析 xml 时,我在遍历节点时不断分配和释放一个临时 Person 对象。我检查了这一点,并且在任何时候都只实例化了这些 Person 对象之一。当一个节点被遍历并且一个人被“构建”时,我将这个人传递给一个 NSMutableArray 并释放这个人。那里似乎没有问题。(我需要一个 tableView 的数组)。当我在数组中达到大约 50 多个 Person 对象时,我的应用程序刚刚退出,didReceiveMemoryWarning 没有被调用,没有其他警告,没有 parseErrorOccurred,什么都没有?

如果我限制 xml 中的人员数量,应用程序就可以正常工作,我无法使用 Instruments 找到任何内存泄漏。我认为我根本无法在一个数组中保存 50+ 个 Person 对象……看起来有点苛刻,但我对 iPhone 没有太多的记忆经验,所以这只是一个猜测。

xml 是用户可能只需要其中几个的搜索结果,因此将它们持久保存到我的核心模型以保持它们显示似乎有点疯狂。

保留这些 Person 对象的好策略是什么?还是我错过了巨大的内存泄漏,因为 iPhone 应该能够处理的远不止这些?

希望一些有经验的开发人员能指出我正确的方向:)

谢谢!

0 投票
1 回答
720 浏览

iphone - iPhone - 使用 NSXMLParser 防止无效的十六进制字符错误

我正在解析来自 Web 服务器的 XML,解析有时会以错误代码 6 停止。从文档中,我发现错误是 NSXMLParserInvalidHexCharacterRefError。

有问题的字符是Ĵ。有人可以告诉我如何防止 NSXMLParser 在遇到这些字符时发送错误(或者更确切地说,NSXMLParser 不支持 unicode 编码吗?)

谢谢。

0 投票
1 回答
657 浏览

objective-c - 错误代码 31 使用 NSXMLParser 读取 RSS

当我阅读以 xml version="1.0" encoding="US-ASCII" 开头的 RSS 时出现此错误?如果我改变这样的 xml version="1.0" encoding="UTF-8" ,读取相同的 RSS 没问题。

我一定要吗 ?1/ 从服务器下载到文件 2/ 读取编码并将其替换为 UTF8 3/ 解析文件...

或者我可以在启动解析器更改编码头之前做点别的吗?谢谢

0 投票
3 回答
4188 浏览

iphone - NSXMLParser 在 & 上阻塞 &

我正在使用 NSXMLParser 解析一些 HTML,它在遇到 & 符号时会遇到解析器错误。我可以在解析之前过滤掉&符号,但我宁愿解析那里的所有内容。

它给了我错误 68,NSXMLParserNAMERequiredError: Name is required。

我最好的猜测是这是一个字符集问题。我对字符集的世界有点模糊,所以我认为我的无知正在咬我的屁股。源 HTML 使用字符集 iso-8859-1,所以我使用此代码来初始化解析器:

有任何想法吗?

0 投票
4 回答
1233 浏览

iphone - NSXmlParser 在 iphone sdk 3.0 中不起作用

我在 sdk 3.0 中发现了一个奇怪的问题。当我解析 XML 时,在任何 sdk 2.x 中一切正常,但 sdk 3.0 却不行。

我没有发现 NSXMLParser 有任何区别,但是任何 2.x sdk 都可以正常工作,而 3.0 则不行。如果有人遇到这样的问题并告诉我如何解决它?-> rssParser 是 NSXmlParser 对象。

在 SDK 3.0 中

我称之为这个方法。[rssParser parse];

那么我的解析器调用的第一个方法就是这个

  • (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError

之后它什么也不做。

当我选择 sdk 2.2.1

然后它也调用这个方法

  • (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError

但解析器不会停止解析它会继续调用 NSXmlParser 的其他代表。

两者的解析错误相同

错误 65,描述:(空),行:1,列:60

这是第一行

!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 两端带有 < >

0 投票
2 回答
790 浏览

nsxmlparser - NSXMLParser 错误

我正在使用 NSXMLParser 解析服务器端的 html 文件。(使用 iphone sdk 3.0)并且我的解析器在遇到任何错误后停止解析并调用委托消息

  • (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError

我的问题:遇到错误后如何解析文件。有什么办法吗?

谢谢

0 投票
2 回答
1884 浏览

iphone-sdk-3.0 - iPhone 上使用 NSXMLParser 的核心数据错误地保存对象

一般来说,我是 Objective-C、XCode 和 iPhone 开发的新手,我在使用 Core Data 和 NSXMLParser 时遇到了一些问题。

遵循 Apple 的教程 SeismicXML(适用于 NSXMLParser)和 iPhone 上的 Core Data 教程后,我在为托管对象模型的实体属性分配值时遇到了问题。

为了解释这种情况,我的代码仅与 SeismicXML 示例不同,它使用 CoreData 将 currentParsedCharacterData 分配给我的托管对象,而不是 SeismicXML 项目使用的标准 NSObject。

下面是我的托管对象的描述输出。

似乎正在发生的是,所有属性/属性都被分配了我的 XML 提要中最后一个节点的值;这恰好是经度,纬度。然而,当在属性分配时记录解析的字符数据时,它是预期的(和正确的)值,但是当输出该对象的描述时,所有字符串值都是错误的,并且数字值/否则只是 0 或 nil。

任何建议将不胜感激。如果需要,我可以创建一个较小的项目,该项目使用我正在使用的相同 XML 提要显示此行为。

编辑:

这是一个简短的示例,说明我正在做什么以将信息获取到托管对象中,这会导致相同的错误。

为方便起见,我有一个项目的压缩包http://willb.ro/CoreDataProblemExample.zip

调试输出 2009-11-16 14:31:20.357 ShittyExample[4360:4d07] 公司描述:(实体:公司;ID:0x3f6e9e0;数据:{ companyDescription =“Top Shop 是零售领域的领先品牌”;companyID = 66136112; name = "Top Shop 是零售领域的领先品牌"; })