1

我正在创建一个开源工作流,它将通过以下方式将 OS X 应用程序 Devonthink 绑定到 Zotero:

  1. 在 OS X 应用程序 devonthink 中调用的 AppleScript 将通过 shell 运行 Ruby 脚本
  2. 这个 Ruby 脚本(我发现它比旧的 applescript 更快,更适合这类事情)将进行 API 调用并以 Atom 格式下载响应数据 示例数据
  3. ruby 脚本将解析 Atom 文件并提取该数据的子集并输出
  4. Applescript 将捕获 Ruby 脚本的输出,并以各种方式与 devonthink 交互,同步数据。

我想在这里获得帮助的是解析这个工作流的 Atom 文件部分。

我知道有一些很棒的库可以在 Ruby 中解析 A​​tom,例如 Feedzirra 等,但它们需要安装 Gem。我将把 applescript+ruby 组合分发给可能对命令行或安装 gem 等几乎不熟悉或什至完全不熟悉的用户。我想让最终用户尽可能简单地将我的脚本放入他们的 applescript 文件夹和 ruby​​ 脚本连同它一起,无需他们采取任何进一步的行动。

鉴于此:对于在 ruby​​ 中解析 A​​tom 文件而不需要为脚本的最终用户安装任何 gem 或其他任务的最佳解决方案,您有哪些建议(是否有可以简单地包含在正文中的解析代码?例如脚本本身?)。

我想一些可能的解决方案可能会暗示答案:

a) 使用原生 ruby​​ 功能来解析 xml

b) 使用一些可以直接复制/粘贴到我的 ruby​​ 脚本中的方法

提前致谢。

4

2 回答 2

1

认为您在单个查询中提出了太多问题。尝试进一步分解您的问题,并在单独的帖子中提出主要问题。

顺便说一句,Nokogiri 是一个优秀的 Ruby XML 解析器。

于 2012-11-25T11:44:57.253 回答
1

我不是一个 ruby​​ 人,但您应该能够获取库的源文件,将它们放入您的 .rb 文件中,并且可能进行一些小的更改,使用其余源中的库。线索是找到一个小型且没有太多依赖项的库。

也许Simple-RSS会起作用?

于 2012-11-25T15:38:05.510 回答