使用SimpleXMLElement和DOMDocument可轻松生成格式化XML文件,示例代码创建包含两本书信息的books.xml,通过addChild添加节点,DOMDocument美化输出并保存,确保写入权限及特殊字符转义。
PHP生成XML文件非常简单,可以使用内置的 SimpleXMLElement 类来动态创建XML文档并保存为文件。下面是一段完整示例代码,演示如何用PHP生成一个结构化的XML文件。
创建基本XML结构
以下代码将创建一个包含书籍信息的XML文档,并保存为 books.xml 文件:
');
// 添加第一本书
$book1 = $xml->addChild('book');
$book1->addChild('title', 'PHP从入门到精通');
$book1->addChild('author', '张三');
$book1->addChild('year', 2025);
$book1->addChild('price', '59.00');
// 添加第二本书
$book2 = $xml->addChild('book');
$book2->addChild('title', '深入理解MySQL');
$book2->addChild('author', '李四');
$book2->addChild('year', 2025);
$book2->addChild('price', '78.50');
// 设置输出格式并保存为文件
$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($xml->asXML());
$dom->save('books.xml');
echo "XML文件已成功生成:books.xml";
?>
代码说明
- new SimpleXMLElement():初始化一个XML对象,传入根标签。
- addChild():用于添加子节点,支持嵌套结构。
- asXML():将SimpleXML对象转换为XML字符串。
- DOMDocument:用于美化输出(换行和缩进),提升可读性。
-
sav
e():将最终XML内容写入文件。
生成结果(books.xml)
执行后生成的XML文件内容如下:
PHP从入门到精通 张三2025 59.00 深入理解MySQL 李四2025 78.50
注意事项
- 确保PHP有写入权限,否则 save() 会失败。
- 如果数据来自数据库或表单,可在循环中动态调用 addChild() 添加多条记录。
- 特殊字符(如 &, )会被自动转义,避免XML格式错误。

e():将最终XML内容写入文件。






