我正在编写一个管道来重新映射 RSS 提要中的几个节点。
最近创建了一个新的 torrent 命名空间,并在一些提供 bittorrent 提要的网站上使用。提要中每个项目的 torrent 节点都包含磁铁 /URI,我正在尝试将其重新映射到媒体内容的链接,因此我的 bittorrent 客户端将默认下载该文件而不是文件本身,因为我几乎可以保证它可以获得通过 DHT 下载 torrent 文件与由于正常运行时间问题而直接下载 torrent 文件不同。
我已经设法正确地重新映射它,除了磁铁 uri 存储CDATA
在magnetURI 节点中。当管道处理它时,它会转义特定于 uri 的字符,如 & 符号。有没有办法强制管道按原样呈现数据而不转义?
以下是从其中一个提要中提取的项目的示例:
<item>
<title><![CDATA[Some torrent title]]></title>
<link>http://www.somebittorrentsite.com/fileofinterest.torrent</link>
<pubDate>Mon, 21 Feb 2011 00:00:00 -0000</pubDate>
<description><![CDATA[A torrent file you'd like to download.]]></description>
<enclosure url="http://www.somebittorrentsite.com/fileofinterest.torrent" length="123456789" type="application/x-bittorrent" />
<guid>912554a5-dd0e-4bee-b2ed-d776e0471552</guid>
<torrent xmlns="http://xmlns.ezrss.it/0.1/">
<fileName><![CDATA[fileofinterest.torrent]]></fileName>
<contentLength>123456789</contentLength>
<infoHash>E4799FF799F9C8C26BA087C601A732DF748FDFB0</infoHash>
<magnetURI><![CDATA[magnet:?xt=urn:btih:E4799FF799F9C8C26BA087C601A732DF748FDFB0&dn=fileofinterest]]></magnetURI>
</torrent>
</item>
一旦它穿过重新映射所有内容的管道,您可以在media:content
磁铁中看到 uri 已被转义。
<item>
<title>Some torrent title</title>
<link>http://www.somebittorrentsite.com/fileofinterest.torrent</link>
<description>A torrent file you'd like to download.</description>
<guid isPermaLink="false">912554a5-dd0e-4bee-b2ed-d776e0471552</guid>
<pubDate>Mon, 28 Feb 2011 19:44:07 -0800</pubDate>
<media:content url="magnet:?xt=urn:btih:E4799FF799F9C8C26BA087C601A732DF748FDFB0&amp;dn=fileofinterest" type="application/x-magnet"/>
</item>