很多人在做数据交换、配置文件管理或者网页开发时,都会遇到需要生成 XML 文件的情况。其实生成 XML 并不复杂,掌握几种常见方式就能应付大部分场景。
用文本编辑器手动写
最直接的办法就是用记事本、VS Code 或 Sublime Text 这类工具手动编写。比如你要保存一些用户信息,可以这样写:
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user id="1">
<name>张三</name>
<age>28</age>
<city>北京</city>
</user>
<user id="2">
<name>李四</name>
<age>32</age>
<city>上海</city>
</user>
</users>
写完后保存为 users.xml 就行了。这种方式适合数据量小、结构简单的场景,比如做个本地配置文件。
用编程语言动态生成
如果你在开发程序,更常见的做法是用代码生成 XML。Python 就挺方便,装个 xml.etree.ElementTree 模块就行:
import xml.etree.ElementTree as ET
# 创建根节点
root = ET.Element("books")
# 添加子节点
book = ET.SubElement(root, "book", attrib={"id": "101"})
title = ET.SubElement(book, "title")
title.text = "Python入门指南"
author = ET.SubElement(book, "author")
author.text = "王老师"
# 写入文件
tree = ET.ElementTree(root)
tree.write("books.xml", encoding="utf-8", xml_declaration=True)
运行完就会生成一个标准的 XML 文件。Java、C#、PHP 等语言也都有类似的库,原理差不多,构造节点、设置属性、输出文件。
从 Excel 或数据库导出
有些时候数据已经在 Excel 表格里,一个个复制太麻烦。可以用 Python 先读 Excel,再转成 XML。比如用 pandas 读取表格:
import pandas as pd
df = pd.read_excel("data.xlsx")
# 转成字典列表
data = df.to_dict(orient="records")
# 生成XML
root = ET.Element("data")
for row in data:
item = ET.SubElement(root, "item")
for k, v in row.items():
child = ET.SubElement(item, k)
child.text = str(v)
ET.ElementTree(root).write("output.xml", encoding="utf-8", xml_declaration=True)
这样几行代码就完成了批量转换,比手动操作快多了。
用在线工具快速生成
如果不写代码,也可以试试在线 XML 生成器。搜一下“XML Generator”能找到不少网页工具,填表单、点几下就能生成结构化的 XML。适合临时用一两次,或者用来学习结构格式。
生成 XML 的核心就是按规则组织标签和数据。你可以手动写,也能让程序自动生成,关键看你的使用场景。日常开发中,结合脚本处理数据会更高效,省时又不容易出错。