2011-03-10 217 views
0

我正在使用xslt將我的html轉換爲docx文件格式(它是以open office xml格式)。當我在Word中打開一些生成的docx文件時,它顯示錯誤(可能是xml節點中的錯誤)。是否有可能找到創建的文檔是打開還是在打開時顯示錯誤,或者是否有可能以編程方式恢復文檔?單詞如果文檔中包含錯誤)?或任何單詞的API函數,我們的代碼來恢復需要查找損壞的文檔(docx文件格式)

請幫我..謝謝了... ...

回答

0

是否有可能找到創建的文檔是否打開或顯示錯誤,同時打開

從理論上講,你應該能夠使用驗證XML解析器來驗證您創建的文檔反對OOXML爲XML模式。在實踐中:

  • 您可能需要執行搜索以查找機器可讀版本的相關架構。
  • 這並不是不可思議的問題是由於架構驗證不能提取的問題。

是否有可能恢復的文檔編程(如果文檔中包含錯誤什麼詞做)?

一般沒有。如果文件與MS Office預期的文件完全不同,它將無法「開頭或結尾」。 (這不是神奇的...)

或任何單詞的API函數,我們的代碼來恢復

同樣,沒有。如果文檔與模式充分不同,符合模式的讀取器/寫入器API將無法應對它。


真正的解決方案是找出轉換軟件中的錯誤並糾正錯誤。除了根據模式進行驗證外,不可能有任何真正的捷徑。

+0

+1正確答案。作爲次要補充:您可以在輸出之前使用XSLT 2.0架構感知處理器驗證文檔 – 2011-03-10 18:30:00

-1

可能您的文件可能已經損壞。爲此,您需要使用第三部分字詞恢復工具來恢復它。

+0

您的答案沒有解決問題的要點,因爲它暗示了使用實用工具或工具。作者明確表示他想要一個程序化解決方案;他正在嘗試使用XSLT從HTML生成docx文檔,並且他很清楚該過程可能會失敗。這就是爲什麼他問,「是否有可能以編程方式恢復文檔...?」 – chb 2012-07-29 10:02:50

1

嘗試檢查字/ _rels和對比它與工作DOCX內的關係xml文件。當我忘記在那裏添加相應的條目時,我的docx文件被損壞。

更新: 同時檢查所有圖像文件擴展名在[CONTENT_TYPES] .xml文件中定義。