【发布时间】:2023-03-28 08:30:02
【问题描述】:
我已经编写了一些代码来转换音频文件的名称(在此示例中将“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_ESCAPING THE MANOR_20200929.wav”,“XXchimes 02_1.mp3”] 在“new_test.xml”文件中,音轨的名称没有改变。这里缺少什么?!
【问题讨论】: