我正在使用rubyzip和nokogiri的組合來編輯.docx文件。我正在使用rubyzip解壓縮.docx文件,然後使用nokogiri解析並更改word/document.xml文件的正文,但有時候我關閉了rubyzip,最終破壞了文件,我無法打開它或修理它。我將桌面上的.docx文件解壓縮,並檢查word/document.xml文件,內容更新爲我更改的內容,但所有其他文件都混亂了。有人可以幫我解決這個問題嗎?這裏是我的代碼:如何使用nokogiri和rubyzip編輯docx
require 'rubygems'
require 'zip/zip'
require 'nokogiri'
zip = Zip::ZipFile.open("test.docx")
doc = zip.find_entry("word/document.xml")
xml = Nokogiri::XML.parse(doc.get_input_stream)
wt = xml.root.xpath("//w:t", {"w" => "http://schemas.openxmlformats.org/wordprocessingml/2006/main"}).first
wt.content = "New Text"
zip.get_output_stream("word/document.xml") {|f| f << xml.to_s}
zip.close
你好Delvin,我得到了同樣的問題,但我無法解決它,埃裏克建議。我該如何解決這個問題?謝謝 – Rubyist 2012-01-31 05:18:03