我来自 C 背景,但在 Ruby 中研究一些与 XML 相关的东西,所以,如果我的问题很幼稚,请多多包涵。
我有一个 XML 文档。我正在使用 libxml 解析它:
<test>
<ready>
<ex_success>true</ex_success>
</ready>
<ath>
<name>abc</name>
<pass>123</pass>
<ex_success>true</ex_success>
</ath>
</test>
在本文档中,我能够阅读该ex_success
元素。但是,我无法从我的原始文件中删除它。
这是我的一小段代码:
require 'xml'
test_file = @file_name
parser = XML::Parser.file(test_file)
document = parser.parse
document.root.each_element {|element|
# Write each element name in the file
puts 'element.name'
if val = element.find_first('ex_success')
puts val.content # prints true
val.remove! # THIS line does not remove the element from my original file
else
puts 'Not found'
end
我做错了什么,删除它的正确方法是什么?