问题描述
我编写了一些代码来转换音频文件的名称(在此示例中将“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 (将#修改为@)