- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试解析一个 xml 文件(下面的链接)以获取所有带有标签的文本。我能够做到这一点,但解析器忽略了以破折号 (-) 结尾的行并仅将其替换为破折号(请参见下面的示例),并且一些带有说话标记的说话标记结束于新的空白线。可能是什么原因造成的(即文本编码问题?、错误解析)。
这是文件:
http://www.perseus.tufts.edu/hopper/xmlchunk?doc=Perseus%3Atext%3A1999.02.0055%3Abook%3D1
我正在使用这样的代码来获取内容:
- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ([elementname isEqualToString:@"l"]) {
NSString *textSoFar = [[NSUserDefaults standardUserDefaults] stringForKey:@"litText"];
textSoFar = [[NSString alloc] initWithFormat:@"%@\n%@", textSoFar, currentNodeContent];
[[NSUserDefaults standardUserDefaults] setObject:textSoFar forKey:@"litText"];
}
}
问题行的一个例子在开始附近,它应该是:
Id metuens, veterisque memor Saturnia belli,
prima quod ad Troiam pro caris gesserat Argis—
necdum etiam causae irarum saevique dolores
但它的出现是:
Id metuens, veterisque memor Saturnia belli,
—
necdum etiam causae irarum saevique dolores
如果您需要更多帮助来理解我的问题,请告诉我,提前感谢您的帮助。
此外,这是我的 parser:found characters 代码,我注释掉了 currentNodeContent,但它仍然不起作用。
- (void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
//currentNodeContent = (NSMutableString *) [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
最佳答案
在您的 foundCharacters 方法中您可能设置了 currentNodeContent。您应该追加它,因为它可以在每个节点上被调用多次。
另请参阅此问题:NSXMLParser retrieving wrong data from XML tags
你应该有这样的东西:
在您的 didStartElement 函数中:
currentNodeContent = [[NSMutableString alloc] init];
在你的 foundCharacters 函数中:
[currentNodeContent appendString:string];
然后就可以了
关于ios - NSXMLParser 不适用于某些标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20310479/
我在 NSXMLParser 中崩溃了 * Terminating app due to uncaught exception 'NSInternalInconsistencyException',
我有 NSXMLParser 问题,我尝试了 iOS8 NSXMLParser crash这个话题,但我真的没有得到解决方案。 我正在创建另一个 NXSMLParser 委托(delegate)并将其
我目前正在尝试使用外部已解析实体引用来解析包含另一个 XML 的 XML。但是,NSXMLParser 会引发错误,而不是解析包含的 XML。 xml 看起来有点像这样: ]>
我正在使用 NSXMLParser 来解析此 XML:http://itunes.apple.com/gb/rss/topsongs/limit=50/explicit=true/xml 。我正在尝试
NSXMLParser 是什么样的解析器? 是 dom 解析器还是 sax 解析器。 有多少个解析器? 最佳答案 它是一个 SAX 解析器。有许多可用于 iOS 的 DOM XML 解析器,我见过的最
我有以下泄漏的代码。 Instruments 表示,泄漏的是 rssParser 对象。我“刷新”了 XML 提要,它运行了该 block 并且发生了泄漏...... 文件.h @interface
如何将本地路径传递给NSXMLParser 像这样 NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:storeP
我使用从互联网获取的可变数据初始化 NSXMLParser。我想知道解析器是否在释放时释放它,或者我必须在解析后释放它? 谢谢 最佳答案 Cocoa 使用“这不是我的问题”来比喻内存管理。 如果将某些
我有以下 XML(为 iPhone 开发一个应用程序): 00070431 John Doe ... 如何仅检索其中一个属性的值,例如属性 name="given_name"的值“John”? 感
下面是 MREntitiesConverter 对象的 @interface,我使用 NSXMLParser 从字符串中剥离所有 html 标签。 @interface MREntitiesConve
我想编写一个 NSXMLParser,我在 NSString(已编码)中有数据。 如果我将 NSString 放入 NSLog,它会给出我需要的正确行。但是,当我想使用来自 NSString 的数据启
这与我之前的问题类似。我没有得到答案,也许通过改变问题我可能会得到答案。 这是我的解析代码: -(void) parser:(NSXMLParser *) parser didStartElemen
我正在尝试解析一些简单的东西,但我不知道该怎么做..我已经解析了之前有一些 xml,但这个结构没有任何内容,所以我有点迷失。 这是 xml。
我正在我的应用程序中解析 XML 文件,最奇怪的事情发生了。它在多个元素之后停止,没有完成该元素,但解析方法仍然返回成功。我感觉某个地方有一个错误的角色,但无法弄清楚。有谁知道为什么它在解析过程中停止
我想解析 [description] [p] blah blah [/description] [/p] 中包含的描述 Jon Greene named associate director
我正在尝试从 xml 网络源获取内容列表。我正在使用 NSXMLParser atm。 代码如下: - (void)main { self.workingArray = [NSMutableA
我有这样的xml数据 dendritical Empty மரம
我刚刚阅读了一个关于 nsxmlparsing 的不同问题的答案。其中有人说你应该使用 self。更好的内存管理符号...这是什么意思? 我在初始化字典时遗漏了这个,我应该把它放进去吗?它有多大帮助或
我在 XML 中有一行包含 % 符号。但是 NSXMLParser 也改变了一些数字,如下所示 2013-11-16 01:08:07.102 ECP[46386:a0b] string is Inc
我正在尝试解析一个 xml 文件(下面的链接)以获取所有带有标签的文本。我能够做到这一点,但解析器忽略了以破折号 (-) 结尾的行并仅将其替换为破折号(请参见下面的示例),并且一些带有说话标记的说话标
我是一名优秀的程序员,十分优秀!