在日常工作中,我们经常会拿到一些xml格式的数据文件,比如系统导出的配置、报表或接口返回结果。相比之下,word文档更利于阅读、排版和分享。因此,把xml文件转换成word文档成为不少人的实际需求。下面介绍几种操作简单的实现方式。

方法一:用Word软件直接打开并转换
如果你只是偶尔转换单个文件,最简单的方法就是使用Microsoft Word本身。
- 右键点击xml文件,选择用Word打开
- Word会提示以何种方式打开,一般选“作为XML文档”即可
- 打开后调整一下排版,点击“文件-另存为”,保存类型选“Word文档(*.docx)”
这种方式零门槛,但只适合内容结构简单、不需要批量处理的场景。
方法二:使用Python批量转换
当需要把大量xml转成word时,可以写一个小脚本。下面示例使用 python-docx 库读取xml并生成word。
# 安装依赖:pip install python-docx
import xml.etree.ElementTree as ET
from docx import Document
# 解析xml文件
tree = ET.parse('data.xml')
root = tree.getroot()
# 创建word文档
doc = Document()
doc.add_heading('XML转换结果', 0)
# 遍历xml节点写入word
for item in root.iter('record'):
name = item.find('name').text
value = item.find('value').text
doc.add_paragraph(f'名称: {name} 数值: {value}')
# 保存word
doc.save('output.docx')
print('转换完成')
把上面代码中的 data.xml 换成你的文件名,运行后就能得到 output.docx。
方法三:通过XSLT样式转换
xml本身可以用XSLT定义显示格式。你可以写一份XSLT,将xml节点映射为Word支持的HTML,再另存为word。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h1>转换示例</h1>
<xsl:for-each select="root/record">
<p><xsl:value-of select="name"/></p>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
用浏览器或支持XSLT的工具处理xml,得到html后再用Word打开存为docx即可。
小结
以上三种方式分别适合不同人群:普通用户用Word直开最省事,开发人员用Python可自动化,对格式有要求时可用XSLT。根据实际需要选择,就能轻松把xml文件转成word文档。