我发现你可以在php中用SOAP生成这个:
<foo bar="blah">12345</foo>
有了这个:
array("foo" => array("_" => 12345, "bar" => "blah"));
但是,当值不是数字和字符串,而是嵌入式xml代码时,下划线方法似乎不起作用。你会怎么做呢?
<foo bar="blah">
<aaa a="b">blah</aaa>
</foo>
这是此人提问的延伸: http://www.bigresource.com/Tracker/Track-php-uQwDoUib/
答案 0 :(得分:11)
我没有快速的测试方法,但也许这样可行:
$a = array(
'foo' => array(
'bar' => 'blah',
'aaa' => array(
'_' => 'blah',
'a' => "b",
),
),
);
答案 1 :(得分:1)
如何将属性添加到作为函数的节点;
$update = $soap->UpdateMember($pRecord);
或
$update = $soap->__soapCall('UpdateMember', array($Updates));
我需要在这里将namescape或xmlns属性添加到实际的函数名称中。我得到了以下内容;
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.sample.net/">
<SOAP-ENV:Body>
<ns1:UpdateMember>
MORE XML HERE
</ns1:UpdateMember>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
但我需要
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.sample.net/">
<SOAP-ENV:Body>
<ns1:UpdateMember xmlns="http://www.sample.net/">
MORE XML HERE
</ns1:UpdateMember>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
需要ns1:UpdateMember xmlns:ns1 =&#34; http://www.sample.net/"或类似的东西。