我正在创建一个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未定义'
有没有办法解释响应或没有嵌套在HTML中的XML?
答案 0 :(得分:1)
这是因为生成xml的代码被html包围。删除html部分,你应该没事。
删除它:
<!DOCTYPE HTML>
<html>
<body>
而且:
</body>
</html>