核心逻辑详情
(1)XML 格式化(formatXml 函数)
使用 PHP 原生 DOMDocument 解析 XML,确保语法正确性
自定义缩进规则:支持空格 / 制表符,可设置缩进大小(2/4/8)
统一换行符:自动转换为 Unix(\n)或 Windows(\r\n)风格
保留 XML 声明:如果原 XML 包含声明则保留,否则自动省略
兼容 CDATA 区块:不破坏 CDATA 内部的原始内容
可选保留注释:根据配置决定是否保留 <!-- 注释 -->
(2)XML 压缩(compressXml 函数)
去除注释:可选保留或删除所有 XML 注释(默认保留)
去除多余空白:删除标签间的所有空格、换行,仅保留结构必需的 <> 连接
保留 CDATA 内部:不处理 CDATA 区块内的空格和换行
去除首尾空白:修剪 XML 内容前后的多余空格和换行
(3)辅助功能(removeUtf8Bom 函数)
自动去除 UTF-8 BOM 头(EF BB BF),避免解析错误
兼容不同编码的 XML 输入,统一处理为 UTF-8
3. 使用步骤
部署:将文件保存为 xml-format-compress.php,上传到支持 PHP 5.6+ 的服务器(如 XAMPP、WAMP、虚拟主机)
访问:通过浏览器访问该文件(如 http://localhost/xml-format-compress.php)
输入 XML:在左侧「XML 输入」框粘贴需要处理的 XML 代码(默认提供示例 XML)
配置规则:
缩进类型 / 大小:设置格式化后的缩进样式
换行风格:选择适配的操作系统换行符
保留注释:勾选则保留 XML 中的注释,否则压缩 / 格式化时删除
处理操作:
点击「格式化 XML」:右侧显示缩进对齐、结构清晰的 XML
点击「压缩 XML」:右侧显示去除多余空格换行的紧凑 XML
后续操作:复制结果、下载 XML 文件或清空内容
4. 界面操作说明
按钮 功能描述
格式化 XML 按配置规则美化 XML,层级缩进、换行对齐
压缩 XML 去除多余空格 / 换行,生成紧凑 XML(可选保留注释)
复制输入 / 复制结果 一键复制左侧输入框或右侧结果框的内容,复制成功有 Toast 提示
下载 XML 下载右侧结果框的 XML 内容,文件名格式为 processed_xml_时间戳.xml
清空内容 清空左侧输入框和右侧结果框,方便重新输入
5. 环境要求
PHP 版本:5.6 及以上(兼容 PHP 7.x、8.x)
服务器:支持 PHP 的 Web 服务器(Apache、Nginx、IIS 等)
扩展依赖:无需额外扩展,DOMDocument 为 PHP 内置扩展(默认启用)
6. 常见问题解决
XML 解析错误:检查输入的 XML 是否完整(如缺少闭合标签 <>、属性未加引号),工具仅支持语法正确的 XML 格式化
中文乱码:确保输入的 XML 编码为 UTF-8,文件本身也保存为 UTF-8 编码
下载的 XML 无法打开:检查处理后的 XML 是否有语法错误,可通过浏览器开发者工具查看控制台报错
缩进不生效:确认选择了「格式化 XML」操作,压缩操作不会应用缩进规则
7. 安全与隐私
纯服务器端处理:XML 内容仅在服务器端临时解析处理,不上传至任何第三方服务器
无数据存储:处理完成后不保存任何 XML 内容,刷新页面后原始输入和结果将丢失
语法校验:仅解析 XML 结构,不执行任何 XML 中的脚本或外部引用,避免安全风险
该工具保持了与之前 PHP 格式化、SQL 处理工具一致的操作体验,是 XML 开发、数据交换场景中美化代码、精简传输体积的实用工具,直接上传即可使用,无需复杂配置