如果你知道的领域你要具体:
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>
如果您想根据YAML按键的名称创建一个任意的XML文件:
output = Nokogiri::XML::Builder.new do |xml|
xml.product{
doc["getOrderDetails"].each do |name,value|
xml.send(name.downcase,value)
end
}
end
puts output.to_xml
#=> <?xml version="1.0"?>
#=> <product>
#=> <id>114</id>
#=> <name>XYZ</name>
#=> </product>
信息不足:例如,(小而简洁)YAML覆盖所有的情况下,如何生成的XML为例子应该看。 – tokland
这是YAML格式 产品: ID:123 名称:XYZ 这是输出,我需要...... XYZ –
user1023627
你可以发布你有什么尝试到目前为止? – eugen