1

ディレクトリのファイル構造をXMLドキュメントとして返すPHPスクリプトを作成しています。simpleXMLを使用してこれを実行しましたが、スクリプトは機能していますが、応答はHTMLタグにネストされています。

PHPファイル:

<!DOCTYPE HTML>

<html>
<body>



<?php
$xml_string = <<<XML
<?xml version='1.0' standalone='yes'?>
<directory>
</directory>
XML;
$directory=new SimpleXMLElement($xml_string);

Code creating the file structure.    

echo $directory->asXML();


?>

</body>
</html>

応答は次のとおりです。

<!DOCTYPE HTML>

<html>
<body>

<?xml version='1.0' standalone='yes'?>
<directory>
XML tags created by script
</directory>

</body>
</html>

なぜXMLがHTMLドキュメント内にあるのか疑問に思います。XML要素にアクセスするためのJavaScriptを取得できません。

var xmlhttp = new XMLHttpRequest();
var xmlDoc=xmlhttp.responseXML.documentElement.getElementsByTagName("folder");
document.getElementById("myDiv").innerHTML = xmlDoc[0].firstChild.nodeValue;

(使用されるJavascriptコードのスニペット)

エラーが発生します:'xmlhttp.responeXML is undefined'

応答を解釈する方法や、XMLをHTML内にネストしない方法はありますか?

4

1 に答える 1

1

これは、xmlを生成するコードがhtmlで囲まれているためです。htmlパーツを削除すると、問題がないはずです。

これを削除します:

<!DOCTYPE HTML>

<html>
<body>

この:

</body>
</html>
于 2012-11-14T00:34:21.623 に答える