编写一个ruby脚本,解析xml以分发给非编码人员

编写一个ruby脚本,解析xml以分发给非编码人员,ruby,macos,applescript,atom-feed,Ruby,Macos,Applescript,Atom Feed,我正在创建一个开源工作流,它将通过以下方式将OS X应用程序Devonthink与Zotero绑定: 在OSX应用程序devonthink中调用的AppleScript将通过shell运行Ruby脚本 这个Ruby脚本(我发现它比旧的applescript快得多,更适合于这类事情)将进行API调用并以Atom格式下载响应数据 然后,ruby脚本将解析Atom文件,并提取该数据的子集并输出它 Applescript将捕获Ruby脚本的输出,并以各种方式与devonthink交互,同步数据 我想在

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

  • 在OSX应用程序devonthink中调用的AppleScript将通过shell运行Ruby脚本
  • 这个Ruby脚本(我发现它比旧的applescript快得多,更适合于这类事情)将进行API调用并以Atom格式下载响应数据
  • 然后,ruby脚本将解析Atom文件,并提取该数据的子集并输出它
  • Applescript将捕获Ruby脚本的输出,并以各种方式与devonthink交互,同步数据
  • 我想在这里获得帮助的是解析此工作流的Atom文件部分

    我知道有一些很棒的库可以在Ruby中解析Atom,比如Feedzirra等等,但是它们需要安装一个Gem。我将把applescript+ruby组合分发给那些可能对命令行或安装gems等不太熟悉甚至完全不熟悉的用户。我想让最终用户尽可能轻松地将我的脚本放入他们的applescript文件夹和ruby脚本中,而无需对其进行任何进一步操作他们的部分

    考虑到这一点:对于在ruby中解析Atom文件而不需要为脚本的最终用户安装任何gems或其他任务的最佳解决方案,您有什么建议(例如,脚本本身中是否有可以简单包含的解析代码?)

    我想答案可能会提出一些可能的解决方案:

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

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


    提前向您表示感谢。

    我认为您在一次查询中提出的问题太多了。试着把你的问题再细分一点,在不同的帖子里问主要的问题


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

    我不是一个喜欢Ruby的人,但是你应该能够获取库的源文件,将它们放在你的.rb文件中,也许只需做一些小的更改,就可以从源代码的其余部分使用库。线索是找到一个小且没有太多依赖项的库


    也许会起作用?

    看起来很有效。然而,对于我的简单需求来说,这实在是太多了。我最终使用了标准Ruby库中包含的REXML。这不是理想的重型举重,但工作的很好,我需要的。谢谢抱歉-太多的背景信息似乎吓跑了那些没有仔细阅读的人。问题其实很简单,我应该保持这种状态:在Ruby中解析XML而不需要安装gem的最佳方式是什么。