2

我希望使用个人 RSS 提要进行系统报告,所以我想知道是否可以创建一个脚本,将其 1 美元发送到 RSS 提要,ala self_test_command > rss_report.sh。我目前也没有设置 RSS 提要,那么设置从 Linux 机器运行的 RSS 提要最简单的方法是什么?

4

2 回答 2

6

还有另一个使用xmlstarlet的解决方案:

创建一个初始 rss 提要文件 feed.xml:

<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>My RSS Feed</title>
    <description>This is my RSS Feed</description>
  </channel>
</rss>

创建一个使用xmlstarlet添加项目的 shell 脚本:

#!/bin/sh

TITLE="My RSS entry"
LINK="http://example.com/entry4711"
DATE="`date`"
DESC="Good news"
GUID="http://example.com/entry4711" 

xmlstarlet ed -L   -a "//channel" -t elem -n item -v ""  \
     -s "//item[1]" -t elem -n title -v "$TITLE" \
     -s "//item[1]" -t elem -n link -v "$LINK" \
     -s "//item[1]" -t elem -n pubDate -v "$DATE" \
     -s "//item[1]" -t elem -n description -v "$DESC" \
     -s "//item[1]" -t elem -n guid -v "$GUID" \
     -d "//item[position()>10]"  feed.xml ; 

要有一个通用的解决方案,当然更喜欢从命令行传递参数。

-d 命令确保提要不会增长 inifinet 但最多有 10 个项目。

于 2013-01-18T10:53:27.097 回答
3

我有一个适合你的解决方案,在command line. 在后台使用 Perl Template::Toolkit模块(现在不需要学习 Perl):

首先安装包perl-template-toolkit,然后创建模板文件rss.tpl

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>[% title %]</title>
    <description>[% desc %]</description>
  </channel>
  <!-- rest of the RSS -->
</rss>

并运行命令:

tpage --define title=foobar --define desc=description --interpolate rss.tpl

输出是:

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>foobar</title>
    <description>description</description>
  </channel>
  <!-- rest of the RSS -->
</rss>

您将在此处找到要修改的完整模板

于 2012-10-10T20:21:13.123 回答