我有两个问题 (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代码。)我只是不知道为什么可以加载它!