Я пытаюсь отредактировать XML-файл и заменить строки на переменные ruby. На данный момент это мой код:
<?xml version="1.0" encoding="US-ASCII"?>
<Standart-Profile>
<class1>
<class2>
<class3>
<value1>old_A</value2>
<value1>old_B</value2>
<value1>old_C</value2>
</class3>
</class2>
</class1>
</Standart-Profile>
А это файл Ruby:
require "rexml/text"
require 'rexml/document'
include REXML
def generate_2
...
end
def generate_1
...
end
File.open('Standart-Profile.xml') do |config_file|
config = Document.new(config_file)
config.root.elements['old_A'].text = 'generate_1'
config.root.elements['old_B'].text = 'generate_2'
config.root.elements['old_C'].text = 'generate_1'
formatter = REXML::Formatters::Default.new
File.open('New-Profile.xml', 'w') do |result|
formatter.write(config, result)
end
end
Но я продолжаю получать эту ошибку:
Final-Tool-Kit.rb:19:in `block in <main>': undefined method `text=' for nil:NilC
lass (NoMethodError)
from test.rb:16:in `open'
from test.rb:16:in `<main>'