例如,如果我有下面的Nokogiri :: XML :: Nodeset,我该如何换出第二个节点(整个第二个dict)来交换节点?有没有办法不经过每个字段并替换它们(因为在实际的XML中,每个字典有数百个字段)?
<array>
<dict>
<key>Name</key>
<string>Test</string>
</dict>
<dict>
<key>Phone</key>
<string>123-456-7890</string>
</dict>
</array>
我要交换的Nokogiri :: XML :: Element:
<dict>
<key>Email</key>
<string>skafjdksf@sdjlf.com</string>
</dict>
答案 0 :(得分:0)
我自己想出了答案,以防将来有人需要这些信息。
将节点与替换节点交换出来:
nodeToSwapOut.previous.next.replace(newNode)
然后将新XML写入新文件:
File.new(newFile, 'w')
File.open(newFile, 'w') do |f|
f.write(oldFile.to_xml)
end