我正在为学校做一个涉及XML/XSL的最终项目,我选择用PHP来做。我一直在使用XAMPP查看我的网站,一切都很好,直到我将所有内容上传到学校的网络服务器。我的PHP页面上没有任何错误,它只是在调用PHP函数时停止渲染。我不知道为什么一切都在XAMPP上工作,但在web服务器上却没有。如果这个问题以前出现过,我深表歉意。我浏览了其他问题,但没有找到任何能解决我问题的东西。提前感谢您的光临!
这是我的代码:
XML:
<?xml version="1.0" encoding="utf-8" ?>
<nav>
<item>
<name>Home</name>
<url>index.php</url>
</item>
<item>
<name>What's Inside</name>
<url>about.php</url>
</item>
<item>
<name>Pod Locations</name>
<url>pods.php</url>
</item>
<item>
<name>Trail Map</name>
<url>trail.php</url>
</item>
<item>
<name>Contact Us</name>
<url>contact.php</url>
</item>
</nav>
XSL:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!--
Process XML
-->
<xsl:template match="nav/item">
<li>
<a href="{url}" class='button'><xsl:value-of select="name"/></a>
</li>
</xsl:template>
</xsl:stylesheet>
PHP:
<!DOCTYPE html>
<html>
<head>
<title>Home - CyclePods</title>
<?php require('common/header.php'); ?>
<?php
function processXML($source) {
$xml = new DOMDocument;
$xsl = new DOMDocument;
$process = new XSLTProcessor;
$xml->load('assets/xml/' . $source . '.xml');
$xsl->load('assets/xml/process.xsl');
$process->importStyleSheet($xsl);
echo $process->transformToXML($xml);
}
?>
</head>
<body>
<div class="nav-span">
<div class="nav-row">
</div>
</div>
<div class="banner-back">
<div class="banner-front">
<div class="tabs">
<ul class="horizontal">
<?php processXML('navigation'); ?>
</ul>
</div>
</div>
</div>
<div class="background">
<div class="body">
<div class="row">
</div>
</div>
</div>
</body>
</html>
证明我的代码是有效的,它只需要更新版本的PHP。将我的项目上传到了一个免费的主机上(使用最新版本的PHP),它就像一个魅力。