こんにちは、PHP コードで非常に奇妙なエラーが発生しています。xml ファイルから読み取って、Web ページのコンテンツを動的に変更しようとしています。いくつかのデータを読み取り、そのデータを $course_title という名前の PHP 変数に割り当ててから、DOM 要素の「innerHTML」を更新する Javascript を呼び出そうとします。注: 「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 ステートメントで正しい情報が出力されますが、次の 3 行で .innerHTML が同じ値に変更されないことです。誰かそれが何であるか知っていますか?また奇妙なのは、2 番目の「echo '$course_title';」を置き換えると、「Hello world!」のようなもので 次に「ハローワールド!」「見出し」id オブジェクトの innerHTML として表示されます。
編集
course.xml と呼ばれる XML ファイルでは、title 要素はIC 210 Fall 2010であり、$course_title の内容はIC 210 Fall 2010であるため、php ファイルの解析は正しく表示され、次のような特殊文字の縫い目はありません。"または' _
また、すべてを同じ行に配置しようとしましたが、運が悪かった... (xmlファイルで、 <title> 要素のテキストが同じ行にあることを確認しました...