PHP生成XML最常用方式是SimpleXML扩展,通过new SimpleXMLElement()创建对象,用addChild()和addAttribute()添加节点与属性,自动处理转义和闭合,UTF-8中文emoji可直接写入,输出时需设置header或保存文件并注意编码。

PHP 生成 XML 文件最常用、最简洁的方式就是用 SimpleXML 扩展,它把 XML 当作对象来操作,无需手动拼接字符串,也不用处理转义和格式问题,适合大多数中小型数据导出场景。
用 SimpleXML 创建空 XML 文档并添加结构
先创建一个根元素,再逐层添加子元素和属性。SimpleXML 会自动处理标签闭合和基础转义(如 & → &)。
- 用
new SimpleXMLElement('初始化一个 XML 对象') - 用
addChild('tag', '内容')添加带文本的子节点 - 用
addAttribute('name', 'value')给当前节点加属性 - 支持链式调用,比如
$xml->person->addChild('name', '张三')
向 XML 中插入含特殊字符的数据
SimpleXML 默认会对文本内容做基本 HTML 实体转义,但对属性值或 CDATA 内容需额外注意:
- 普通文本(
addChild('title', 'A & B > C'))会被安全转义为A & B > C - 若需保留原始符号(如 HTML 片段),可用
DOMDocument配合createCDATASection(),SimpleXML 本身不直接支持 CDATA - 中文、emoji 等 UTF-8 字符可直接写入,前提是脚本文件保存为 UTF-8 且输出时声明编码(见下一条)
保存或输出 XML 并确保格式正确
生成完后别忘了设置 HTTP 头和编码声明,否则浏览器可能解析失败或乱码:
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它不是新的编程语言,而是一种使用现有标准的新方法,最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容,不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。《php中级教程之ajax技术》带你快速
立即学习“PHP免费学习笔记(深入)”;
- 输出到浏览器:
header('Content-Type: application/xml; charset=utf-8');+echo $xml->asXML(); - 保存为文件:
$xml->asXML('data.xml');,文件会自动以 UTF-8 编码写入 - 如需缩进美化(非必须),可用
dom_import_simplexml($xml)->ownerDocument->formatOutput = true;,再调用saveXML()
基本上就这些。SimpleXML 不复杂但容易忽略编码和转义细节,只要结构清晰、内容不过于嵌套,几行代码就能搞定标准 XML 输出。










