У меня 2 проблемы.
(1)
Я написал приложение для iphone для периодической отправки обновленных данных GPS с iphone (возможно, период = 1 с).
Я написал эти строки в 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 Internal Server Error, например
$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 notloaded!» и «XML не пустой» (но, пожалуйста, обратите внимание, что я вижу код xml, который я отправил на сервер на моей консоли XCode).
Я просто не знаю, почему он может быть загружен!