问题标签 [syndication-feed]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1084 浏览

c# - 如何从提要具有命名空间的 SyndicationFeed 对象中获取作者

我有一个 RSS 提要。我正在使用 ASP.NET SyndicationFeed 对象来浏览此提要。

在此提要中,每个帖子的作者都有元素名称<dc:creator>。当作者在标签中表现不佳时,如何从该提要中获取数据?

0 投票
1 回答
2627 浏览

.net - 将命名空间添加到 SyndicationFeed 而不是单个元素?

我有这样的课:

我正在使用它来生成带有自定义扩展的 Atom Feed:

这工作正常,除了提要将我的命名空间添加到元素:

有没有办法用提要注册命名空间,以获得这样的输出?

理想情况下,当我有带有 ElementExtensions 的 SyndicationItems 时,我希望这也能工作,因为提要应该知道所有各种命名空间。

(编辑:这纯粹是为了减少 XML 的大小并使其更易于人类阅读)

0 投票
2 回答
1468 浏览

rss - 如何公开 WCF 联合服务库以进行 URL 访问?

使用 VS 2010,我创建了一个 WCF 联合服务库,可以很好地调试——浏览器显示我创建的提要和所有内容。

问题是:我将此服务库发布到服务器 08R2 上的 IIS 7 到应用程序目录。发布创建了一个包含 servicelibrary.dll、.svc 文件和 web.config 的 bin 目录。我可以通过浏览器访问该服务,但我没有收到提要。我只是得到“你已经创建了一个服务。要测试这个服务......等等”

如果有人对此有任何经验,我将非常感激。我还没有找到太多关于部署它以在应用程序之外使用的文档。我希望我可以只提供指向此提要的 URL 链接供人们订阅,而不必在某处放置 xml 文件。

我错过了什么,还是我期待太多?

0 投票
1 回答
3314 浏览

c# - 如何使用自定义命名空间创建 SyndicationFeed

如何生成包含下图中显示的命名空间的 Atom Feed?Atom 提要的所有节点都必须以“a:”开头。

在此处输入图像描述

这是我现在正在做的事情,但是它不起作用。

谢谢!

0 投票
2 回答
140 浏览

asp.net-mvc - 您将常见 Web uri 路径的方法放在哪里

我们有一个非常常见的架构:

数据库

存储层

业务对象

服务层 - 为客户端提供 DTO

Web 层 (MVC)

我们有许多通用的资源路径,特别是图像和播客(例如http://media.mysite.com/podcasts/)。我想创建一个具有属性的静态实用程序类:

MySite.Utils.ImagePathUri

MySite.Utils.PodcastsPathUri

ETC

我的问题是:你把 uri 路径放在哪里?这个实用程序类进入哪个项目?

最初,这似乎很简单:web 层。这是一个网站。我应该能够在其他层不知道的情况下更改站点的 url。

一切都很好,但是,。. . 然后有一天我的一项服务需要提供 SyndicationFeed 类型。SyndicationFeed 需要完整的 URI,而不仅仅是部分文件名。但是服务不应该访问完整路径。或者他们应该?

我和自己争论了几件事,但无法得出一个坚定的立场:

  1. 将路径移至服务层。这将 Web 层与服务层紧密耦合,但也许没关系,因为它们从一开始就非常紧密耦合。
  2. 将路径移动到业务对象或存储库。我不喜欢这样,但如果我愿意将其放入服务层,我至少必须考虑一下。
  3. 不要在服务层内部使用 SyndicationFeed,而只能在 Web 层中使用它。解决了这个问题,但似乎 SyndicationFeed 应该属于服务层。
  4. 放弃 SyndicationFeed。任何 SyndicationFeed 都可以更轻松地在 MVC 中创建,使用 PartialView 生成适当的 XML,而不必弄乱像 ElementExtensions 这样臃肿的抽象。我喜欢这个,但是我们在很多地方都使用了 SyndicationFeed,这样一来就可以进行最多的解释。
  5. 为服务层中的联合提要提供一个虚假的 uri,然后在 Web 层中更改它。你能说黑客吗?
  6. 将完整路径放入数据库中。起初这听起来不错,但后来我意识到它会在您拥有动态生成的图像时立即中断。
  7. 我没有想到的其他一些解决方案。

你怎么认为?您将 Web 资源(图像、播客等)的实用程序类放在哪里?如果您说“网络层”,您对 SyndicationFeed 问题有何看法?

更新

最终,我决定废弃 SyndicationFeed 类,它消除了在服务层和存储库层中包含文件路径的需要。然而,问题仍然存在于其他地方,使用 DI,尤其是像 Ninject 这样的 IoC 是非常有意义的。将这些包装到一个通用接口中也是如此。

SyndicationFeed,查看引擎以及为什么声明式声明更好

我放弃了 SyndicationFeed,而是使用 Razor 创建了我需要的 XML。它不仅更容易创建,而且可读性提高了 1000%。我发现使用命令式代码(C#、VB 等)创建 XML 比它应该做的更难。XML 是声明性的,而不是强制性的。

相反,我现在决定视图引擎(例如 Razor)的声明式语法比命令式语言更容易使用。

0 投票
3 回答
2302 浏览

wcf - Rss20FeedFormatter 忽略 SyndicationItem.Summary 的 TextSyndicationContent 类型

在 WCF 项目中使用 Rss20FeedFormatter 类时,我试图用一个<![CDATA[ ]]>部分来包装我的描述元素的内容。我发现无论我做什么,描述元素的 HTML 内容总是被编码,并且从未添加 CDATA 部分。在查看 Rss20FeedFormatter 的源代码后,我发现在构建 Summary 节点时,它基本上创建了一个新的 TextSyndicationContent 实例,该实例消除了之前指定的任何设置(我认为)。

我的代码

...(以下代码应使用 CDATA 部分包装摘要)

Rss20FeedFormatter 代码 (AFAIK,由于这个逻辑,上面的代码不起作用)

作为一种解决方法,我使用了 RSS20FeedFormatter 来构建 RSS,然后手动修补 RSS。例如:

...

此解决方法的想法来自以下位置,我只是将其调整为使用 WCF 而不是 MVC。http://localhost:8732/Design_Time_Addresses/SyndicationServiceLibrary1/Feed1/

我只是想知道这是否只是 Rss20FeedFormatter 中的一个错误,还是设计使然?另外,如果有人有更好的解决方案,我很想听听!

0 投票
1 回答
794 浏览

asp.net-mvc - ASPNET MVC:如何将图像添加到 RSS 项目?

我需要将图像添加到我的 RSS 提要中,但看不到它。

我的代码是:

如果我使用ElementExtensions我在 RSS 中看到图像的链接,但我想直接查看图像而不单击链接。可能吗?

0 投票
0 回答
542 浏览

java - Sun Syndication API 在尝试解析特定 RSS 提要时抛出错误

使用 SUN 联合 API ROME,我正在尝试解析以下 RSS 提要:

以下是此代码:

我收到以下异常:

这发生在 404 的响应上,正如我可以在 HTTPUrlConnection 类中推断的那样,这种问题有什么解决方法吗?

此问题仅与此特定 URL 有关,有人知道如何克服此问题吗?

0 投票
1 回答
801 浏览

c# - 为什么 XmlWriter.Create() 无法通过 Rss20FeedFormatter 和 SyndicationFeed 进行测试?

下面的测试通过只是因为new XmlTextWriter(sw)使用而不是XmlWriter.Create(sw, settings) or XmlTextWriter.Create(sw)

顺便说一句,我ForEachInEnumerable在上面的示例中使用了扩展方法 :

0 投票
1 回答
526 浏览

windows - 如何将 SyndicationFeed 存储到 XDocument 中?

我正在 Windows 8 中(在 C# 中)编写一个 RSS 阅读器,我正在尝试将 SyndicationFeed 对象传递给 XDocument。有谁知道如何做到这一点?

到目前为止,我有这个。