如何在 iPad 中解析 XML 文件时处理 CDATA 标签

发布于 2024-10-14 10:29:28 字数 207 浏览 5 评论 0原文

我正在开发一个应用程序,需要解析一些包含 CDATA 标签的 XML 文件。解析普通 xml 非常简单,但我在检索 CDATA 标记内的数据时遇到问题。

对于遇到的每个 CDATA 标记,都会调用 parser:foundCDATA: 方法,其中参数 CDATABlock 属于 NSData 类型。

请建议一种解析 CDATA 标签的方法。

I am working on an application where I need to parse some XML files that consists CDATA tags. Parsing ordinary xml is quite straight forward but I am facing problems to retrieve data that is inside the CDATA tag.

The parser:foundCDATA: method is being called for each CDATA tag encountered where the parameter CDATABlock is of NSData type.

Please suggest a way to parse the CDATA tag.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

南风起 2024-10-21 10:29:28

如果需要从 CDATA 中提取字符串,可以在foundCDATA 中使用此块:

NSMutableString *lStr = [[NSMutableString alloc] initWithData:CDATABlock encoding:NSUTF8StringEncoding];

If you need to extract the string from CDATA, you could use this block in foundCDATA:

NSMutableString *lStr = [[NSMutableString alloc] initWithData:CDATABlock encoding:NSUTF8StringEncoding];
情痴 2024-10-21 10:29:28

正如 Oleg Danu 所说,我已从 CDATA 标记中获取字符串,但它仍然包含 XML 标记。因此,每当 CDATA 找到时,我都会将整个字符串写入文件,并通过将委托设置为与原始解析器相同的类来创建另一个 XMLParser .CDATA标签中的所有标签都由辅助解析器正确解析。解析器将在foundCDATA方法结束时释放,实际解析将按原样继续。

i have taken string from the CDATA tag as Oleg Danu said but still it consists XML tags.So i wrote that entire string to a file,whenever CDATA found, and created one more XMLParser by setting the delegate to same class as that of original Parser.All tags in CDATA tag are parsed properly by the secondary parser.The parser will be released at the end of the foundCDATA method and actual parsing continues as it is.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文