0

所以我正在构建一个肥皂通信器来将数据传输到客户端。

其中有一个空白字段,但不能作为空标签进行交流,他们要求它只是一个空白。

所以数据是沿着

$address = array("address1" => " ", "address2" => "123 Fake Street",...);

当我为此生成xml时,我得到

<ns1:Address1/>代替<ns1:Address1> </ns1:Address1>

WSDL 是 Soap 1.2 和 utf8 编码的。

我试过 urlencode()、rawurlencode()、utf8_encode() 以及 html   字符。

4

2 回答 2

2

尝试

$string = '<![CDATA [ ]]>';

或者在您的阵列的情况下

$address = array("address1" => "<![CDATA [ ]]>", "address2" => "<![CDATA [123 Fake Street]]>",...);
于 2013-11-12T05:51:58.280 回答
0

接受的答案并不完全正确。

CDATA 和方括号之间的空格会导致 XML 无效,PHP Soapserver 会导致“错误请求”

它应该是:

$string = '<![CDATA[ ]]>';
于 2020-11-10T08:00:41.690 回答