我是iphone开发的新手。我想在解析时忽略CDATA标签,因为它将HTML标签视为文本。因为我想单独显示内容,我希望我的解析器忽略CDATA标签。我的源代码是
[CDATA[<br /><p class="author"><span class="by">By: </span>By Sydney Ember</p><br><p>In the week since an </p>]].
有没有办法忽略CDATA标签? 有没有办法解析我的源两次,所以它只显示内容?
请给我一些示例代码。请帮帮我。谢谢。
答案 0 :(得分:3)
如果您将CDATA内容视为XML而不是CDATA,那么您的解析器将抛出错误(因为您的HTML是XHTML和HTML的奇怪组合,并且格式不正确。)
如果要获取HTML,则解析XML,提取节点的文本内容,然后将该文本解析为HTML。
答案 1 :(得分:1)
无法忽略CDATA标记 - 它是xml规范的一部分,解析器应该遵守它。
如果您不喜欢this answer to your earlier question的想法,可以获取CDATA部分的内容并再次将其解析为XML。但是,强烈建议不要这样做!你不知道CDATA的内容是有效的xml(它们可能不是)。
如果你能100%保证CDATA部分包含你上面的表格,你可能会使用一些字符串操作来获取数据(即string replace '<span class="by">By: </span>' with ''
)但是,如果CDATA内容发生变化。
xml来自哪里?与服务的所有者交谈并让他们发送给您而不是像
这样的描述更好<description>
<author>By Sydney Ember</autho>
<text>In the week since an </text>
</description>
取值