gpt4 book ai didi

rss - 使用 CDATA 验证 RSS 提要的问题?

转载 作者:行者123 更新时间:2023-12-04 06:15:45 25 4
gpt4 key购买 nike

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

一种似乎有效的解决方法是:

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

从我读到的内容来看,这会阻止内容被 xml 解析,这就是它验证正常的原因。我查看了一些读者,看起来不错,但是他们对这种方法有风险/缺点吗?我不太明白其中的含义,所以我很感激任何关于我可以执行的测试的建议或信息。

谢谢

最佳答案

这是一种完全合理的方法,但您应该注意,您应该使用以下方法:

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

...而不是:
<![CDATA[ <description>My Content here </description> ]]> 

...因为 <description> 元素是 RSS 规范的一部分,所以应该正确地出现在 RSS 中,而不是作为文本进行转义。

如果您打算在 titledescription 中包含非 RSS 内容(通常是 HTML),特别是如果它是可能包含各种标记或无效标记的用户生成的内容,那么将整个内容标记为这样的字符数据绝对是要走的路。

RSS 阅读器通常期望并愉快地处理在 description 元素中存储为 CDATA 的 HTML,而他们使用的 XML 解析器(以及任何其他解析您的 RSS 的东西)可能对可能通过包含 HTML 标签而创建的畸形 XML 非常敏感,这是意想不到的实体,甚至是 < 文本中的单个“ <description> ”,没有转义。

使用您的 XML 库提供的任何方法将内容作为 CDATA 插入,而不仅仅是手动用 <![CDATA[]]> 包装它;这样所有的想法(如果内容包含 ]]> 会发生什么?)将为您完成。

关于rss - 使用 CDATA 验证 RSS 提要的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7272857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com