php无法使用SimpleXMLElement(500服务器错误),也无法回显数据

时间:2012-01-14 05:21:56

标签: php iphone simplexml echo domdocument

我有两个问题 (1) 我写了一个iphone应用程序,定期从iphone发送更新的GPS数据(可能是句号= 1s)。 我在服务器的php中写了这些行

<html>
<body>
<?php
$xmlFile = file_get_contents("php://input");
echo $xmlFile."<br>";
echo "Hello World!";
?>
</body>
</html>

在iphone方面,我实现了NSURLConnection委托方法,如

connection: didReceiveData: 

通过在XCode控制台中打印数据来测试xml字符串是否已发送到服务器。 我成功地在XCode控制台中收到以下内容,

<html><body><openingTagOfXML>the xml string sent.</openingTagOfXML><br>Hello World!</body></html>

但是,当我运行应用程序时,我访问www.mywebsite.com/index.php(i.e。上面显示的php),只有Hello World!显示在页面上!我想xml代码也可以在客户端浏览器上显示出来。为什么?是因为xmlFile变量总是在变化吗?

(2)当我然后使用SimpleXMLElement或者像simplexml_load_string这样的内置函数时,网页上就会出现500内部服务器错误,例如

$xml = new SimpleXMLElement($xmlFile);
echo $xml->asXML();

而且,当我尝试下面的代码时,

$xmlFile = file_get_contents("php://input");

$xfstr = $xmlFile;
echo $xfstr."<br>";
$xml = <<<XML
$xfstr
XML;

echo $xml;

$doc = new DOMDocument();

if($doc->loadXML($xml))
{
echo "XML loaded! ";
}
else
{
    echo "XML not loaded! ";
    if(empty($doc)){
  echo "XML is empty. ";
    }else{echo "XML not empty. ";}
}

在我的XCode控制台中返回的数据中,始终显示“XML未加载!”和“XML not empty”(但请注意,我可以看到我在XCode控制台上发送到服务器的xml代码。)我只是不知道为什么可以加载它!

0 个答案:

没有答案