PHP生成XML最常用方式是SimpleXML扩展,通过new SimpleXMLElement()创建对象,用addChild()和addAttribute()添加节点与属性,自动处理转义和闭合,UTF-8中文emoji可直接写入,输出时需设置header或保存文件并注意编码。
PHP 生成 XML 文件最常用、最简洁的方式就是用 SimpleXML 扩展,它把 XML 当作对象来操作,无需手动拼接字符串,也不用处理转义和格式问题,适合大多数中小型数据导出场景。
先创建一个根元素,再逐层添加子元素和属性。SimpleXML 会自动处理标签闭合和基础转义(如 & → &)。
new SimpleXMLElement(' ') 初始化一个 XML 对象addChild('tag', '内容') 添加带文本的子节点addAttribute('name', 'value') 给当前节点加属性$xml->person->addChild('name', '张三')
SimpleXML 默认会对文本内容做基本 HTML 实体转义,但对属性值或 CDATA 内容需额外注意:
addChild('title', 'A & B > C'))会被安全转义为 A & B > C
DOMDocument 配合 createCDATASection(),SimpleXML 本身不直接支持 CDATA生成完后别忘了设置 HTTP 头和编码声明,否则浏览器可能解析失败或乱码:
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()
基本上就这些。S
impleXML 不复杂但容易忽略编码和转义细节,只要结构清晰、内容不过于嵌套,几行代码就能搞定标准 XML 输出。