kullanarak XML düğümü içeriğini değiştirmek nasıl. Bu, düğüm verilerinin nasıl değiştirileceğine değil, dosyaya nasıl geri kaydedileceğine dair bana açık değildir.varsa ben yeni bir değerle, tek bir düğümü bir XML belgesi okumak ve güncellemek için Ruby kullanıyorum Nokogiri
<?xml version="1.0" encoding="utf-8">
<my_id>123</my_id>
<Route>
<To>
<Node>
<Filename>file1.txt</Filename>
<Filename>file2.mp3</Filename>
<Filename>file3.doc</Filename>
<Filename>file4.php</Filename>
<Filename>file5.jpg</Filename>
</Node>
</To>
</Route>
</xml>
Ben "file3.doc" den "file3_new.html" değiştirmek istiyorum:
def ammend_parent_xml(folder, target_file, new_file)
# open parent XML file that contains file reference
get_xml_files = Dir.glob("#{@target_folder}/#{folder}/*.xml").sort.select {|f| !File.directory? f}
get_xml_files.each { |xml|
f = File.open(xml)
# Use Nokgiri to read the file into an XML object
doc = Nokogiri::XML(f)
filename = doc.xpath('//Route//To//Node//FileName')
filename.each_with_index {
|fl, i|
if target_file == fl.text
# we found the file, now rename it to new_file
# ???????
end
}
}
end
Bu
bazı örnek XML olduğunu.Ben çağırır:
def ammend_parent_xml("folder_location", "file3.doc", "file3_new.html")
OMG'ye biraz daha fazla bilgi ekledim, Pazartesi günü işe girmek için harika bir yol ... bu harika ve şimdi Nokogiri'nin nasıl çalıştığına birazcık daha bağlıyım! (ve şimdi de nasıl değiştirileceğini biliyorum: p) – Beertastic