使用SimpleXMLElement和DOMDocument可轻松生成格式化XML文件,示例代码创建包含两本书信息的books.xml,通过addChild添加节点,DOMDocument美化输出并保存,确保写入权限及特殊字符转义。

PHP生成XML文件非常简单,可以使用内置的 SimpleXMLElement 类来动态创建XML文档并保存为文件。下面是一段完整示例代码,演示如何用PHP生成一个结构化的XML文件。
创建基本XML结构
以下代码将创建一个包含书籍信息的XML文档,并保存为 books.xml 文件:
本文档主要讲述的是maven使用方法;Maven是基于项目对象模型的(pom),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven将你的注意力从昨夜基层转移到项目管理层。Maven项目已经能够知道 如何构建和捆绑代码,运行测试,生成文档并宿主项目网页。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
');
// 添加第一本书
$book1 = $xml->addChild('book');
$book1->addChild('title', 'PHP从入门到精通');
$book1->addChild('author', '张三');
$book1->addChild('year', 2023);
$book1->addChild('price', '59.00');
// 添加第二本书
$book2 = $xml->addChild('book');
$book2->addChild('title', '深入理解MySQL');
$book2->addChild('author', '李四');
$book2->addChild('year', 2022);
$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:用于美化输出(换行和缩进),提升可读性。
- save():将最终XML内容写入文件。
生成结果(books.xml)
执行后生成的XML文件内容如下:
PHP从入门到精通 张三 2023 59.00 深入理解MySQL 李四 2022 78.50
注意事项
- 确保PHP有写入权限,否则 save() 会失败。
- 如果数据来自数据库或表单,可在循环中动态调用 addChild() 添加多条记录。
- 特殊字符(如 &, )会被自动转义,避免XML格式错误。










