加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

我如何在TWebBrowser中以HTML格式显示rss feed的输出?

发布时间:2020-12-14 16:37:24 所属栏目:资源 来源:网络整理
导读:我想在TWebBrowser组件中以格式化 HTML显示rss feed的输出,如果在TWebbrowser中加载此Feed http://code.google.com/feeds/p/v8/svnchanges/basic,则将内容显示为XML文件 但如果我使用IE加载相同的页面 我尝试在加载的IHTMLDocument2中注入一个css,正如在这个
我想在TWebBrowser组件中以格式化 HTML显示rss feed的输出,如果在TWebbrowser中加载此Feed http://code.google.com/feeds/p/v8/svnchanges/basic,则将内容显示为XML文件

但如果我使用IE加载相同的页面

我尝试在加载的IHTMLDocument2中注入一个css,正如在这个问题CSS and TWebbrowser delphi中所建议的那样,但我仍然得到相同的结果.

问题是,如何在TWebbrowser中加载rss feed但是将输出显示为像IE这样的HTML文档呢?

解决方法

只是猜测,但您可以尝试应用以下XSL样式表(取自 http://snippets.dzone.com/posts/show/1162并按照以下评论中的cherdt的建议进行修改):
<xsl:stylesheet version="1.0"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:dc="http://purl.org/dc/elements/1.1/">
    <xsl:output method="html"/>
    <xsl:template match="/">
    <xsl:apply-templates select="/atom:feed/atom:head"/>
        <xsl:apply-templates select="/atom:feed"/>
    </xsl:template>
    <xsl:template match="atom:feed/atom:head">
        <h3><xsl:value-of select="atom:title"/></h3>
        <xsl:if test="atom:tagline"><p><xsl:value-of select="atom:tagline"/></p></xsl:if>
        <xsl:if test="atom:subtitle"><p><xsl:value-of select="atom:subtitle"/></p></xsl:if>
    </xsl:template>
    <xsl:template match="/atom:feed">
        <h3><xsl:value-of select="atom:title"/></h3>
        <xsl:if test="atom:tagline"><p><xsl:value-of select="atom:tagline"/></p></xsl:if>
        <xsl:if test="atom:subtitle"><p><xsl:value-of select="atom:subtitle"/></p></xsl:if>
        <ul>
            <xsl:apply-templates select="atom:entry"/>
        </ul>
    </xsl:template>
    <xsl:template match="atom:entry">
        <li>
            <a href="{atom:link[@rel='related']/@href}" title="{substring(atom:published,11)}"><xsl:value-of select="atom:title"/></a>
            <xsl:choose>
                <xsl:when test="atom:content != ''">
                    <p><xsl:value-of select="atom:content" disable-output-escaping="yes" /></p>
                </xsl:when>
                <xsl:otherwise>
                    <p><xsl:value-of select="atom:summary" disable-output-escaping="yes" /></p>
                </xsl:otherwise>
            </xsl:choose>
        </li>
    </xsl:template>
</xsl:stylesheet>

到你收到的饲料.要转换文档,请参阅this question’s selected answer,然后您可以尝试将生成的XML分配给WebBrowser.

我猜你将WebBrowser控件指向feed,但是使用这种方法你需要使用例如Indy(检查TIdHTTP及其Get()方法)下载feed,转换它,然后显示在你的控制.

请注意,以上只是一个猜测,但我相信这是一个很好的假设.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读