1

我正在创建一个 PHP 脚本以将目录的文件结构作为 XML 文档返回。我已经使用 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 文档中。我无法获得任何 javascript 来访问 XML 元素。

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

(使用的 Javascript 代码片段)

我收到一个错误:'xmlhttp.responeXML 未定义'

有什么方法可以解释响应或不将 XML 嵌套在 HTML 中?

4

1 回答 1

1

It's because the code generating the xml is surrounded by html. Remove the html parts and you should be fine.

Remove this:

<!DOCTYPE HTML>

<html>
<body>

And this:

</body>
</html>
于 2012-11-14T00:34:21.623 回答