#php #xml #soap #server #tags
#php #xml #soap #сервер #Теги
Вопрос:
У меня есть следующий код сервера php:
$xml ="<?xml version="1.0" encoding="UTF-8"?>";
$root = "Data";
$warmdata = "WarmData";
$brinedata = "BrineData";
$permindata = "PerMinData";
$xml .= "<$root>";
$xml .= "<$warmdata>";
foreach($result as $row)
{
$xml .= "<WarmIn>";
$xml .= $row['value'] . " " . $row['time'];
$xml .= "</WarmIn>";
}
foreach($result2 as $row)
{
$xml .= "<WarmOut>";
$xml .= $row['value'] . " " . $row['time'];
$xml .= "</WarmOut>";
}
$xml .= "</$warmdata>";
$xml .= "<$brinedata>";
foreach($result3 as $row)
{
$xml .= "<BrineIn>";
$xml .= $row['value'] . " " . $row['time'];
$xml .= "</BrineIn>";
}
foreach($result4 as $row)
{
$xml .= "<BrineOut>";
$xml .= $row['value'] . " " . $row['time'];
$xml .= "</BrineOut>";
}
$xml .= "</$brinedata>";
$xml .= "<$permindata>";
foreach($result5 as $row)
{
$xml .= "<WarmPerMin>";
$xml .= $row['value'] . " " . $row['time'];
$xml .= "</WarmPerMin>";
}
foreach($result6 as $row)
{
$xml .= "<BrinePerMin>";
$xml .= $row['value'] . " " . $row['time'];
$xml .= "</BrinePerMin>";
}
$xml .= "</$permindata>";
$xml .= "</$root>";
header ("Content-Type:text/xml");
return $xml;
$options=array('uri'=>'http://localhost/');
$server = new SoapServer(NULL,$options);
$server->setClass('DBData');
$server->handle();
Я пытаюсь получить правильно отформатированный вывод xml с помощью soap-клиента, но когда я запрашиваю xml, out содержит только числа, полученные из базы данных в одной строке, без фактических тегов xml.
Как я могу изменить его, чтобы у меня были теги в выходных данных?
Комментарии:
1. Это функция? В противном случае возврат завершит выполнение
2. @RiggsFolly Да, это функция. Это работает, только в выходных данных отсутствуют все теги xml, и вместо этого они отображаются в одной строке.
3. Хорошо, тогда ПОКАЖИТЕ ВЕСЬ СООТВЕТСТВУЮЩИЙ КОД. Мы можем отлаживать только то, что видим, мы не ясновидящие
4. Это весь код, в начале отсутствует только имя функции и скобки.
Ответ №1:
Эти теги не разрешены. Вы должны написать их:
< replace with amp;>
> replace with amp;<
Комментарии:
1. Теперь это действительно просто комментарий. Пожалуйста, не комментируйте в ответе, это может привести к снижению голосов, и вы этого не хотите
2. Что вы имеете в виду? Он спрашивает, почему теги не отображаются, и я отвечаю, как он должен поместить их в свой код.
3. @WesleyDeKeirsmaeker Куда я должен их поместить?
4. Я отредактировал свой aswer. Вы должны заменить символы < и> .
5. @WesleyDeKeirsmaeker Это сработало, спасибо, но все равно весь xml отображается в одной строке. Есть ли решение для этого?