使用CDATA验证RSS源的问题?

使用CDATA验证RSS源的问题?,rss,standards-compliance,Rss,Standards Compliance,我需要为我的网站制作一个RSS提要。问题是内容已经导入,并且包含内联样式和其他标记。我研究了各种方法,但我无法将其全部删除,其中一些方法会阻止我的提要验证 一个似乎有效的解决办法是: <![CDATA[ <description>My Content here </description> ]]> My Content here]]> 从我读到的内容来看,这会阻止xml解析内容,这就是它验证ok的原因。我看了一些读者,看起来不错,但他们的方法有风

我需要为我的网站制作一个RSS提要。问题是内容已经导入,并且包含内联样式和其他标记。我研究了各种方法,但我无法将其全部删除,其中一些方法会阻止我的提要验证

一个似乎有效的解决办法是:

    <![CDATA[ <description>My Content here </description> ]]> 
My Content here]]>
从我读到的内容来看,这会阻止xml解析内容,这就是它验证ok的原因。我看了一些读者,看起来不错,但他们的方法有风险吗?我真的不明白这意味着什么,所以我非常感谢任何关于我可以执行的测试的建议或信息


谢谢

这是一个非常合理的方法,不过您应该注意,您应该使用以下方法:

<description><![CDATA[My Content here]]></description>  

……而不是:

<![CDATA[ <description>My Content here </description> ]]> 
My Content here]]>
…由于
元素是RSS规范的一部分,因此应该正确地显示在RSS中,而不是作为文本转义

如果要在
标题
说明
中包含非RSS内容(通常为HTML),尤其是用户生成的内容可能包含各种标记或无效标记,那么将整个内容标记为字符数据无疑是一种方法

RSS阅读器通常希望并愉快地处理
description
元素中作为CDATA存储的HTML,而他们使用的XML解析器(以及解析RSS的任何其他内容)可能对格式错误的XML非常敏感,这些XML可能是通过包含HTML标记、意外实体甚至是单个“