科技改變生活 · 科技引領未來
問題:有時辛辛苦苦用wps或office編寫的docx文檔,關閉后再重新打開的時候,發現打不開了!!!顯示詳細錯誤是“前綴已聲明”,這時是很容易崩潰的。
有時試了各種方法都解決不了,或許這種解決方法可以幫助你。docx文件本身是一種壓縮格式,解壓后是xml文件類型,可以根據修改xml來幫助解決。
1.主要的思路就是將.docx文檔修改為.rar/.zip后綴的文件壓縮包,然后將其解壓,修改word文件夾下的document.xml文件,再將壓縮包中的document.xml文件替換為修改過的文件。可以用“firstobjectXML編輯器”分析document.xml文檔的方式在處理缺少標記、標記不匹配等情況,分析文檔,看有沒有報錯。
2.如果還不能解決,可以試下下面的方法。
1)首先,將docx文檔后綴改為.rar/.zip,解壓縮,找到word文件夾下的document.xml文檔,用notepad++打開,沒裝的可以先度娘裝一下這個代碼編輯器軟件。
2)打開XML validator,其實就是代碼驗證器,打開網址:www.w3schools.com/xml/xml_validator.asp,或者xmlvalidation.com,后者沒有親測。找到“Syntax Check Your XML” input window輸入窗口
3)在notepad++里全選(ctrl+a)復制(ctrl+c)document.xml文檔中的所有內容,再去2)中,粘貼替換掉原輸入窗口中的內容,然后點擊 validate,稍等片刻就會出現分析結果。比如下面
注意:因為xml代碼可能很大,所有窗口可能會卡死,耐心等待就好,下同。
4)定位到錯誤以后,就可以去解決了。我的錯誤是:在470行處,“xmlns:cx”重復定義。于是返回到剛才的notepad++中,ctrl+F查找“xmlns:cx”,發現相同的標簽前綴定義了三遍,至于為什么會出現這種問題我就不清楚了。所以講重復定義的部分刪掉。(這一步如果在notepad++中不好操作,可以將代碼復制到word文檔中查找錯誤)
5)修改好后保存該xml文檔,找到1)中的壓縮包,點進壓縮包里找到word文件夾下的document.xml,右鍵刪除文件,刪掉之后,再右鍵添加文件到壓縮包,將修改過的document.xml壓縮文件添加進來。最后再將.rar/.zip后綴改回.docx后綴,打開文件,繼續報錯,顯示的是“文件已損壞”,點確定,然后word會問你是否要恢復文檔,點擊恢復就可以了。
如果上面方法都不能解決,可以直接把xml里面的文字直接拷貝出來重寫,盡最大可能挽回數據。
王同一