如何更改项目“文件”(存档文件)内的 XML

问题描述 投票:0回答:0

我的主要目标是仅更改项目文件内的 .xml 文件(例如 .docx),因此我的解决方案是将其解压并打包回来,但它不起作用。如果您知道更好的方法来做到这一点,或者可以向我指出一些包含处理此类文件的方法的文档,我们将不胜感激您的帮助。

我注意到一些自定义文件格式(例如 .docx 和 .drp)实际上是存档,其中包含大量 XML。 如何更改该存档中的 XML?我尝试使用“Deflate64”压缩类型的 7Zip 并通过 python 脚本(如下)解压和打包存档,但两个实例都无法打开。 (我尝试更改 .docx 文件内的字符串)。我认为这是可能的,因为如果我通过 7zip 打开 .docx 文件而不解压并更改其中的 .xml 文件之一,更改将应用并且文件将能够打开。

我尝试使用的Python脚本:

import zipfile
import os

def zip_folder(folder_path, zip_path):
   with zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_DEFLATED) as zipf:
       for root, dirs, files in os.walk(folder_path):
           for file in files:
               file_path = os.path.join(root, file)
               zipf.write(file_path, os.path.relpath(file_path, folder_path))

def rename_file(file_path, new_extension):
   file_name, _ = os.path.splitext(file_path)
   new_file_path = file_name + new_extension
   os.rename(file_path, new_file_path)




folder_path = 'Test'
zip_path = 'output.zip'
docx_path = 'output.docx'

zip_folder(folder_path, zip_path)
rename_file(zip_path, '.docx')
python ms-word openxml archive python-docx
© www.soinside.com 2019 - 2024. All rights reserved.