Как создать php RSS симулятор? - PullRequest
1 голос
/ 16 июля 2010

Таким образом, у меня есть RSS-канал с 10 000 записей в file.xml (я собрал их из 10 каналов за 1 час, поэтому временные метки не помогут, кстати, я использовал Yahoo! Мне нужен какой-то класс, чтобы симулировать, что записи появляются 24 раза в день с 1 разом в час.

Как я это вижу:

  1. превратить file.xml в таблицу sql (если вы знаете класс для этого, пожалуйста, помогите)

  2. создание отметок времени (может ли кто-нибудь дать хороший способ создания отметок времени для 10 000 записей?)

  3. создать класс для возврата rss (глядя на часы компьютера и возвращая записи с первого по настоящее время) (не могли бы вы предоставить способ генерации действительного RSS из БД?)

Так что, пожалуйста, предоставьте любую помощь, если можете.

Я использую xampp в качестве держателя php apache mysql.

Я собираюсь использовать его локально в моей машине разработчика (обе стороны - сервер и клиент)

Ответы [ 2 ]

1 голос
/ 21 июля 2010
$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]

Часть этого псевдокода, где вы можете заполнить его. Но что-то в этом роде в основном.

0 голосов
/ 17 июля 2010

Ну, чтобы ответить на ваш первый вопрос, я бы просто написал простой скрипт, который анализирует фид (проверьте this и php.net ) и сохранит их в базе данных.

При этом вы сохраняете метки времени. Чтобы сгенерировать их, вы можете, например, начать с текущей метки времени и просто добавлять 3600 (поскольку php использует метки времени unix, а 3600 секунд представляют 1 час) каждый раз при вставке строки.

По последнему вопросу, посмотрите на эту статью.

...