Ruby 编辑并保存 XML 文件

问题描述

我编写了一些代码来转换音频文件的名称(在此示例中将“XX”附加到名称后)。该代码正在运行,但我找不到将其另存为新 xml 文件的方法。我确实尝试了在论坛上找到的所有解决方案,但仍然无法正常工作;(

这是我的 xml 文件的一部分:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xmeml>
<xmeml version="4">
  <sequence authoringapp="Storyboard Pro" 
   projectpath="/Users/rougnaux/Desktop/XML_TEST/man_142_test/man_142_test.sboard" 
    id="man_142_test">
    <media>
     <audio>
        <track>
          <clipitem id="MAN_142_RADIOPLAY - SCRATCH_ESCAPING THE MANOR_20200929">  
            <file id="MAN_142_RADIOPLAY - SCRATCH_ESCAPING THE MANOR_20200929 1">
              <name>MAN_142_RADIOPLAY - SCRATCH_ESCAPING THE MANOR_20200929.wav</name>
            </file>
          </clipitem>
        </track>     
      </audio>
    </media>
    <ismasterclip>FALSE</ismasterclip>
  </sequence>
</xmeml>

这是我的代码:

require 'nokogiri'

file = File.read('man_142_test.xml')


document  = Nokogiri::XML(file)

document.xpath(("//sequence/media/audio/track/clipitem/file/name")).map {|name| 
 name.children.text }.map!{ |name| 'XX'+name}


File.open("new_test.xml","w") do |f|
  f.write document.to_xml
end

当我用 puts 文件签入 irb 时,我有这个输出 ["XXMAN_142_RADIOPLAY - SCRATCH_ESCATING THE MANOR_20200929.wav","XXchimes 02_1.mp3"] 在“new_test.xml”文件中,音轨的名称没有改变。这里缺少什么?!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)