Ruby 如何在internet上读取外部YAML文件并输出为XML

Ruby 如何在internet上读取外部YAML文件并输出为XML,ruby,xml,nokogiri,yaml,Ruby,Xml,Nokogiri,Yaml,我需要能够使Ruby应用程序没有Rails,如果可能的话,它可以打开一个包含超过104K行代码的外部YAML文件,从中读取并过滤掉以下三件事: !ruby/object:EvtEvent !ruby/object:NwsPost !ruby/object:Asset 然后将这些内容输出到一个XML文件,该文件必须由Ruby程序构建 我不清楚如何开始设置它,因为我只是一个有一年经验的初级开发人员 虽然我在Stack Overflow上发现了一些东西,其中显示了使用Nokogiri的代码示例的这一

我需要能够使Ruby应用程序没有Rails,如果可能的话,它可以打开一个包含超过104K行代码的外部YAML文件,从中读取并过滤掉以下三件事:

!ruby/object:EvtEvent
!ruby/object:NwsPost
!ruby/object:Asset
然后将这些内容输出到一个XML文件,该文件必须由Ruby程序构建

我不清楚如何开始设置它,因为我只是一个有一年经验的初级开发人员

虽然我在Stack Overflow上发现了一些东西,其中显示了使用Nokogiri的代码示例的这一片段,但我不知道该将这些代码放在何处,我必须根据自己的情况修改这些代码:

require 'yaml'
require 'nokogiri'

yaml = "getOrderDetails:
Id: '114'
Name: 'XYZ'"
doc = YAML.load yaml

output = Nokogiri::XML::Builder.new do |xml|
xml.product{
xml.id doc["getOrderDetails"]["Id"]
xml.name doc["getOrderDetails"]["Name"]
}
end
puts output.to_xml
#=> <?xml version="1.0"?>
#=> <product>
#=> <id>114</id>
#=> <name>XYZ</name>
#=> </product>
如何编写init.rb文件来启动一个Ruby程序,该程序将打开有问题的YAML文件,从中读取,然后将其输出到XML

为了让这样一个Ruby程序处理这个任务,我还需要在我的lib文件夹中放哪些Ruby文件

代码可以放在任何方便的地方。Ruby对文件位置没有真正的期望;你只需要运行它们。你的开发团队可能有指导方针,所以你需要和他们谈谈

init.rb是文件的非描述性名称。试着用一些更能说明脚本目的的东西

通过以下方法可以轻松读取用于此目的的删除文件:

将返回文件的内容并将其存储在变量foo中

YAML的内容可以通过以下方式轻松解析:

yaml = YAML.load(foo)
此时,haml将包含一个数组或散列,然后可以正常访问该数组或散列

更有趣的是,一旦加载OpenURI,它将修补OpenMethod,这样就可以执行以下操作:

require 'open-uri'
yaml = YAML.load_file('http://domain.com/path/to/file.yaml')
YAML必须打开一个文件从磁盘加载,这是load_文件通常所做的,在OpenURI发挥其魔力之后,YAML类应该继承了这种魔力。我还没有测试过,但应该可以

Nokogiri的界面可能是一个不错的选择

代码可以放在任何方便的地方。Ruby对文件位置没有真正的期望;你只需要运行它们。你的开发团队可能有指导方针,所以你需要和他们谈谈

init.rb是文件的非描述性名称。试着用一些更能说明脚本目的的东西

通过以下方法可以轻松读取用于此目的的删除文件:

将返回文件的内容并将其存储在变量foo中

YAML的内容可以通过以下方式轻松解析:

yaml = YAML.load(foo)
此时,haml将包含一个数组或散列,然后可以正常访问该数组或散列

更有趣的是,一旦加载OpenURI,它将修补OpenMethod,这样就可以执行以下操作:

require 'open-uri'
yaml = YAML.load_file('http://domain.com/path/to/file.yaml')
YAML必须打开一个文件从磁盘加载,这是load_文件通常所做的,在OpenURI发挥其魔力之后,YAML类应该继承了这种魔力。我还没有测试过,但应该可以

Nokogiri的界面可能是一个不错的选择


是的,锡人,我能得到的每一个教程和指南。作为一名jr开发人员,我已经为此奋斗了一段时间,因为我没有得到导师的特权,也没有钱支付昂贵的训练营和课程的特权。作为一名jr开发人员,我已经为此挣扎了一段时间,因为我没有得到导师的特权,也没有钱支付昂贵的训练营和课程的特权。我是否需要制作一个像Rails应用程序中自动生成的Gemfile这样的文件来实现这一点,Tin-Man?我需要制作一个类似Rails应用程序自动生成的Gemfile吗,Tin-Man?