ich zahlreiche Erklärungen über gefunden haben, wie Soapclient Sie erwartet zu Attribute in einer Anfrage-Set, aber ich kann einfach nicht einen Weg zu lesen Attribute aus einer Antwort finden.PHP Soapclient und Lesen Attribute
Zum Beispiel meiner Soapclient Antwort hat diese Elemente darin:
...
<ns:index>
<ns:uid expdate="2013-09-03 14:30:00">JOWtest002</ns:uid>
<ns:uid expdate="2013-02-07 15:00:00">JOWtest003</ns:uid>
</ns:index>
...
Doch die "ExpDate" -Attribut nie auf den "index" stdClass angebracht ist
["index"]=>
object(stdClass)#80 (1) {
["uid"]=>
array(2) {
[0]=>
string(10) "JOWtest002"
[1]=>
string(10) "JOWtest003"
}
}
Ich habe versucht, mit eine SoapClient-Klassenzuordnung, um diese an ein Objekt zu binden, aber leider definiert die WSDL das "uid" -Element nicht als complexType, daher werden auch die Attribute nicht zugeordnet. Binding "Index" selbst zu einer Klasse funktioniert nicht.
Irgendwelche Vorschläge? Ich möchte wirklich vermeiden, das XML zu analysieren, indem ich es SimpleXML oder DOMDocument gebe.
Würde die Verwendung von Namespace Ihnen helfen? http://StackOverflow.com/q/8525020/1513471 –
Danke. Können Sie klären, warum der Namespace ein Problem darstellt? Die WSDL definiert die üblichen SOAP-Wrapping-Namespaces und wir verwenden einen anderen Namespace als in meinem Beispiel hier deklariert. – voodoodrul
Da Namespace auf die XML-Attribute verweist, empfehle ich Namespace. –