ruby - 使用 Ruby 将 SEC Edgar XML 文件解析为 Nokogiri

标签 ruby xml parsing nokogiri stocks

我在解析 SEC Edgar files 时遇到问题

Here is an example of this file .

最终结果是我想要 <XML> 之间的东西和 </XML>转换成我可以访问的格式。

这是我目前无法运行的代码:

scud = open("http://sec.gov/Archives/edgar/data/1475481/0001475481-09-000001.txt")
full = scud.read
full.match(/<XML>(.*)<\/XML>/)

最佳答案

好吧,有两点不对:

  1. sec.gov/Archives/edgar/data/1475481/0001475481-09-000001.txt 不是 XML,因此 Nokogiri 对您没有用,除非您从文件顶部去除所有垃圾,向下到真正的 XML 开始的地方,然后剪掉尾随的标签以保持 XML 正确。所以,你需要先解决这个问题。
  2. 你没有说你想从文件中得到什么。没有这些信息,我们无法推荐真正的解决方案。您需要花更多时间更好地定义问题。

下面是一段快速代码,用于检索页面、去除垃圾并将生成的内容解析为 XML:

require 'nokogiri'
require 'open-uri'

doc = Nokogiri::XML(
  open('http://sec.gov/Archives/edgar/data/1475481/0001475481-09-000001.txt').read.gsub(/\A.+<xml>\n/im, '').gsub(/<\/xml>.+/mi, '')
)
puts doc.at('//schemaVersion').text
# >> X0603

关于ruby - 使用 Ruby 将 SEC Edgar XML 文件解析为 Nokogiri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5838916/

相关文章:

ruby - 如何在 IDE(如 Eclipse)中开发和调试 Chef 说明书和 Recipe ?

c# - 使用信封重载 xml 中的命名空间

java - 没有找到适合响应类型的 HttpMessageConverter

Python - 从 XML 解析单行

parsing - LR(0) 解析器怎么能离开状态 0?

ruby - Scheduler 插件每月在 Heroku 上占用多少小时?

ruby-on-rails - 如何处理 guest 用户的链接?

ruby - 为什么将 gems 安装到 1.9.1.目录,即使我安装了 1.9.3?

javascript - 如何将xml解析数据获取到jquery中的全局变量

ios - 在 iOS 中解析 XML?