惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
D
Docker
J
Java Code Geeks
腾讯CDC
Blog — PlanetScale
Blog — PlanetScale
G
Google Developers Blog
M
MIT News - Artificial intelligence
L
LangChain Blog
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
博客园 - Franky
GbyAI
GbyAI
Hugging Face - Blog
Hugging Face - Blog
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
N
Netflix TechBlog - Medium
B
Blog RSS Feed
Y
Y Combinator Blog
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News

囧克斯

奔四了,写给40岁的自己 有序退网 我和 Vue.js 的十年 我参与《代码之外 Beyond Code》的故事 博客站迁移至 VitePress 的备忘 写给我的奶奶 中文格式化小工具 zhlint 及其开发心得 vue-mark-display:用 markdown 语法轻松撰写幻灯片 我对技术会议的一些看法 VueConf Hangzhou 见闻 第四届 CSSConf CN 见闻 [译]Web 表单的未来 [译]苹果正在做一些他们的程序员明摆着不想要的东西 [译]为什么我不会无偿加班且你也不应该 [译]如果管理是唯一可走的路,那就完蛋了 [译]如何撰写 Git 提交信息 [译]C 程序的原则 Vue 2.0 来了! Weex 近 4 个月的开源之路 Weex 在 JS Runtime 内的多实例管理 我理解的 SPA 我理解的 Flux 架构 【整理】Vue 2.0 自 beta 1 到 beta 4 以来的主要更新 通过一张图走进 Vue 2.0 Code Review for Vue 2.0 Preview Vue 2.0 发布啦! 务实的小而美 Vue.js 1.0.0 发布了! [译]如何成为一名卓越的前端工程师 手机淘宝前端的图片相关工作流程梳理
科普:如何运用OPML格式向阅读器导入RSS列表
勾三股四 · 2011-01-10 · via 囧克斯

本文摘自 勾三股四 更早时期的 不老歌 博客。


最近做RSS相关内容的原因,特意去opml.org学习了一下大名鼎鼎的OPML(Outline Processor Markup Language)文件格式。

OPML格式是基于xml的,首先,在根结点下有一个head结点和一个body结点:

<?xml version="1.0" encoding="UTF-8"?>
<opml>
    <head>
        <title>xxx</title>
        ...
    </head>
    <body>
        <outline ... />
        ...
    </body>
</opml>

head结点中的内容和具体的数据关系不大,大概有下面这么几个(最显眼的莫过于title了)

<head>
    <title>xxx</title>
    <dateCreated>xxx</dateCreated>
    <dateModified>xxx</dateModified>
    <ownerName>xxx</ownerName>
    <ownerEmail>xxx</ownerEmail>
    <ownerId>xxx</ownerId>
    <docs>xxx</docs>
    <expansionState>xxx</expansionState>
    <vertScrollState>xxx</vertScrollState>
    <windowTop>xxx</windowTop>
    <windowBottom>xxx</windowBottom>
    <windowLeft>xxx</windowLeft>
    <windowRight>xxx</windowRight>
</head>

body结点中全部都是outline结点,表示了RSS列表的内容和目录结构,比如:

<body>
    <outline text="Folder 1" ...>
    <outline type="rss" text="Title 1" xmlUrl="http://xxx.rss" ... />
    </outline>
</body>

这里就是opml最主要的部分了,格式对于html/xml开发者来讲应该相当熟悉了。值得一提的是,几个关键的属性text、title、xmlUrl、htmlUrl、type、description中,title/description/htmlUrl都是可选的,如果text/title同时存在,会以text为准,而不是更常见的title,另外xmlUrl和htmlUrl分别表示这个outline的RSS地址和网站地址,而不是所有的RSS都有htmlUrl的。另外RSS的type必须是"rss"。

其实OPML可以做很多事情——远不止导入导出RSS这种,感兴趣的童鞋可以移步到opml.org