美好的一天,我的 PHP 代码出现了一个非常奇怪的错误。我正在尝试通过读取 xml 文件来动态更改网页的内容。我读入一些数据并将数据分配给一个名为 $course_title 的 PHP 变量,然后尝试调用一些 Javascript 来更新 DOM 元素的“innerHTML”。注意:在“echo $course_title;”这一行 将正确的数据打印到屏幕上。
$fn = dirname(__FILE__)."/course.xml";
$xml = simplexml_load_file($fn);
$course_bookimagelocation = "";
foreach ($xml->children() as $child)
{
if($child[0]->getName()=="book")
$course_bookimagelocation = $child;
if($child[0]->getName()=="title")
$course_title = $child;
}
//Problems start here...
echo $course_title;
echo '<script type="text/javascript">document.getElementById("heading").innerHTML = "';
echo $course_title;
echo '";</script>';
非常独特的是,第一个 echo 语句打印了正确的信息,但接下来的三行,.innerHTML 没有更改为相同的值。有谁知道那是什么?同样奇怪的是,如果我替换第二个“echo '$course_title';” 像“你好世界!” 然后是“你好世界!” 显示为“标题”id 对象的 innerHTML。
编辑
在名为 course.xml 的 XML 文件中,title 元素是IC 210 Fall 2010,$course_title 的内容是IC 210 Fall 2010,因此 php 文件的解析似乎是正确的,并且没有任何特殊字符,例如一个"或'
我还尝试将所有内容放在同一行,而不是运气......(我什至在 xml 文件中确保 <title> 元素的文本在同一行......