You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PHP页面中同时显示XML与HTML内容?

解决方法

核心问题在于HTTP响应只能设置一种Content-Type,浏览器会根据这个类型解析整个响应内容,直接同时输出XML和原始HTML会导致解析冲突。正确的做法是将XML作为HTML页面的一部分展示,让浏览器以HTML模式渲染页面,同时原样显示XML内容。

修改后的代码如下:

<?php
$test_array = array (
  'bla' => 'blub',
  'foo' => 'bar',
  'overflow' => 'stack',
);
$xml = new SimpleXMLElement('<root/>');
array_walk_recursive($test_array, array ($xml, 'addChild'));
$xml_output = $xml->asXML();
?>
<!DOCTYPE html>
<html>
<head>
        <title>My Page</title>
        <style>
            pre {
                background: #f4f4f4;
                padding: 15px;
                border-radius: 5px;
                overflow-x: auto;
            }
        </style>
</head>
<body>
<h1>TESTING</h1>
<h2>XML内容:</h2>
<pre><?php echo htmlspecialchars($xml_output); ?></pre>
</body>
</html>

关键说明:

  • 移除所有XML相关的响应头设置,让浏览器默认以text/html解析内容
  • 使用htmlspecialchars()转义XML中的特殊字符(如<、>、&),避免破坏HTML结构
  • 用<pre>标签包裹XML内容,保留XML的格式缩进,提升可读性
  • 可选添加CSS样式,优化XML内容的显示效果

这样页面会正常渲染HTML标题,同时在预格式化区域完整展示XML内容,两者互不干扰。

内容的提问来源于stack exchange,提问作者karna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 20:54:58