2010-01-12 94 views
4

XML屬性,我發現你可以在SOAP在PHP中生成的:使用SOAP來生成PHP

<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/

回答

11

我沒有測試的快捷方式,但也許這會工作:

$a = array(
    'foo' => array(
     'bar' => 'blah', 
     'aaa' => array(
      '_' => 'blah', 
      'a' => "b", 
     ), 
    ), 
); 
+0

是的,這工作! – Jonah 2010-01-23 07:39:43

0

你怎麼可以添加作爲函數的節點的屬性;

$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 = 「http://www.sample.net/」 或類似的東西。

+0

嗨。你解決了這個問題嗎?我正在解決這個問題,如果你有任何想法可以幫助我。謝謝! – jmunozco 2017-02-21 15:32:01

+0

也許,但說實話,我什至不記得我有那個代碼。 – Perspective 2017-02-24 21:00:33