PyRSS2Gen 并在描述标签中嵌入 html
我想使用 html 标签格式化描述内容。当我尝试将内容括在 here]]>
中时,它无法正常工作,因为它转义了一些括号,在某些 RSS 中显示 OK查看者,但在其他人中显示 ]]>
。
如果我尝试避免 CDATA 并在整个过程中使用转义字符,这大部分都有效,但是 $lt;p$gt;显示为
而不是新代码。
有什么想法吗?
I want to format the content of the description using html tags. When I try to enclose the content in <![CDATA[content<p>here]]>
it doesn't work properly, as it escapes some of the brackets, displaying O.K. in some RSS viewers, but displaying the ]]>
in others.
If I try to avoid the CDATA and use escaped characters throughout, this mostly works, but $lt;p$gt; gets displayed as <p>
rather than a new code.
Any thoughts?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根据 RSS 2.0 规范中的示例,您可以使用 CDATA 和转义符 "Encoding & item -级别描述”。
According to examples in the RSS 2.0 specification you can use both CDATA and the escapes "Encoding & item-level descriptions".
我进一步研究了我的问题,问题是 PyRSS2Gen 使用 python 的 sax 库,它没有 CDATA 的概念,至少在编写 XML 时是这样。我的解决方案只是放弃 PyRSS2Gen 并直接使用 minidom,它确实理解 CDATA 部分。这确实意味着一些额外的代码行。
一旦我的描述标签内的 html 文本正确地包含在 CDATA 部分中,原始 xml 看起来就很好,并且它也在我尝试的 3 个 RSS 阅读器中以我想要的方式显示。
I looked into my problem some more and the problem is that PyRSS2Gen uses python's sax library, which has no concept of CDATA, at least when writing out XML. My solution was just to drop PyRSS2Gen and directly use minidom, which does understand CDATA sections. That did mean some extra lines of code.
Once the html text inside my description tag was properly enclosed in a CDATA section, the raw xml looked fine and it also displayed the way I wanted it in 3 RSS readers I tried.