如何创建php RSS模拟器?

发布于 2024-09-10 19:44:13 字数 592 浏览 4 评论 0原文

所以我在 file.xml 中有 10 000 条记录的 RSS feed(我在 1 小时内从 10 个 feed 中收集了它们,所以时间戳没有帮助,顺便说一句,我使用了 雅虎管道)。我需要一些类来模拟每天出现 24 次、每小时 1 次的记录。

我的看法:

  1. file.xml转换为sql表(如果您知道这方面的类,请帮忙)

  2. 创建时间戳(任何人都可以提供一种为 10 000 条记录生成时间戳的好方法吗?)

  3. 创建返回 RSS 的类(查看计算机时钟并返回从一开始到现在的记录)(您能否提供一种从数据库生成有效 RSS 的方法?)

因此,如果可以的话,请提供任何帮助。

我使用 xampp 作为 php apache mysql 服务器持有者。

我将在我的开发机器中本地使用它(双方 - 服务器和客户端)

So I have RSS feed of 10 000 records in file.xml (I collected them from 10 feeds in 1 hour time so there timestamps will not help, btw I used yahoo pipes). I need some class to simulate that records appearing 24 per a day with 1 per hour.

How I see it:

  1. turn file.xml into sql table (if you know a class for this please help)

  2. create timestamps (can any one give a good way for generating timestamps for 10 000 records?)

  3. create class for returning rss (looking at computer clock and returning records from first to now) (could you please provide a way for generating valid RSS from DB?)

So please provide any help if you can.

I use xampp as php apache mysql server holder.

I am going to use it localy in my dev machin (both sides - server and client)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

尾戒 2024-09-17 19:44:23

好吧,为了回答你的第一个问题,我只需编写一个简单的脚本来解析提要(查看 thisphp.net) 并将它们存储在数据库。

在执行此操作时,您将存储时间戳。要生成它们,您可以从当前时间戳开始,每次插入行时只需添加 3600(因为 php 使用 unix 时间戳,3600 秒代表 1 小时)。

对于最后一个问题,请查看这篇文章。

Well, to answer your first question, I would just write a simple script that parses the feed (check out this and php.net) and stores them in the database.

While doing that, you would store the timestamps. To generate them, you could for example start with the current timestamp, and simply adding 3600 (as php uses unix timestamps and 3600 seconds represent 1 hour) each time you insert a row.

For the last question, take a look at this article.

年少掌心 2024-09-17 19:44:19
$doc = new DOMDocument();
$doc->loadHTMLFile($file);

$xpath = new DOMXpath($doc);
$elements = $xpath->query("//fileroot/nodes");
if (!is_null($elements)) {
  $dateinterval = [0 hours];

  foreach ($elements as $element) {
     // read each node and then store it...
     $storycontents = $element->nodeValue;
     $storytimestamp = date() - $dateinterval;
     $dateinterval = $dateinterval - [1 hour];

     [add story to rss feed]
  }
}

[render all of the collected rss feed stories]

其中一些是伪代码,您可以在其中填写。但基本上是沿着这些思路的。

$doc = new DOMDocument();
$doc->loadHTMLFile($file);

$xpath = new DOMXpath($doc);
$elements = $xpath->query("//fileroot/nodes");
if (!is_null($elements)) {
  $dateinterval = [0 hours];

  foreach ($elements as $element) {
     // read each node and then store it...
     $storycontents = $element->nodeValue;
     $storytimestamp = date() - $dateinterval;
     $dateinterval = $dateinterval - [1 hour];

     [add story to rss feed]
  }
}

[render all of the collected rss feed stories]

Some of it is pseudocode where you can fill it out. But something along these lines basically.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文