【问题标题】:PHP SOAP Server Returns XML With No TagsPHP SOAP 服务器返回没​​有标签的 XML
【发布时间】:2016-10-07 10:15:47
【问题描述】:

我有以下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();

我正在尝试使用soap 客户端获取格式正确的xml 输出,但是当我请求xml 时,输出仅包含从数据库中检索到的单行数字,没有实际的xml 标记。 我该如何修改它,以便在输出中包含标签?

【问题讨论】:

  • 这是一个函数吗?如果不是,则返回将终止执行
  • @RiggsFolly 是的,它是一个函数。它有效,只有输出缺少所有 xml 标签,而是显示在一行中。
  • 那么显示所有相关代码。我们只能调试我们看到的,我们不是千里眼
  • 是整个代码,只是开头少了函数名,还有括号。

标签: php xml soap server tags


【解决方案1】:

那些标签是不允许的。你必须写它们:

< replace with &gt;
> replace with &lt;

【讨论】:

  • 现在这真的只是一个评论。请不要在答案中发表评论,它可能会被否决,而您不希望这样
  • 你是什么意思?他问为什么没有显示标签,我正在回答他应该如何将它们放入他的代码中。
  • @WesleyDeKeirsmaeker 我要把这些放在哪里?
  • 我已经编辑了我的回答。您必须替换 字符。
  • @WesleyDeKeirsmaeker 成功了,谢谢,但整个 xml 仍然显示在一行中。有解决办法吗?
猜你喜欢
  • 2014-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-02
  • 2021-04-06
  • 1970-01-01
相关资源
最近更新 更多