SimpleXML SOAP yanıtı Ad konular

0 Cevap php

Bu birkaç sinirli saat geçirdikten sonra ben senin yardım için soruyorum.

Ben bir SOAP yanıtı belli düğüm içeriği almak için çalışıyorum.

Yanıttır

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="<a href="http://www.w3.org/2003/05/soap-envelope">http://www.w3.org/2003/05/soap-envelope</a>"<xmlns:ns1="<a href="http://soap.xxxxxx.co.uk/">http://soap.xxxxxx.co.uk/</a>">
    <env:Body>
        <ns1:PlaceOrderResponse>
            <xxxxxOrderNumber></xxxxxOrderNumber>
            <ErrorArray>
                <Error>
                    <ErrorCode>24</ErrorCode>
                    <ErrorText>The+client+order+number+3002254+is+already+in+use</ErrorText>
                </Error>
                <Error>
                    <ErrorCode>1</ErrorCode>
                    <ErrorText>Aborting</ErrorText>
                </Error>
            </ErrorArray>
        </ns1:PlaceOrderResponse>
    </env:Body>
</env:Envelope>

I am trying to get at the nodes and children of <ErrorArray>. Because of the XML containing namespaces

$XmlArray   = new SimpleXMLElement($XmlStr);

foreach ($XmlArray->env:Envelope->env:Body->ns1:PlaceOrderResponse->ErrorArray->Error as $Error)
{
    echo $Error->ErrorCode."<br />";
}

doesn't work. I have read a number of articles such as

ve ne yazık ki yardımcı olmayan bu sitede yaklaşık 20 soru.

Hatta yazma,

$XmlArray   = new SimpleXMLElement($XmlStr);

echo "<br /><br /><pre>\n";
print_r($XmlArray);
echo "<pre><br /><br />\n";

verir

SimpleXMLElement Object
(
)

hangi sabun yanıt ($ xmlstr) aslında SimpleXMLElement için geçerli bir giriş olup olmadığını merak yapar.

Öyle görünüyor ki çizgi

$XmlArray   = new SimpleXMLElement($XmlStr);

Ben bunun için ne bekliyoruz yapmıyor.

Yukarıdaki XML düğümleri almak konusunda herhangi bir yardım çok hoş olurdu.

Açıkçası bu (bir çalışma örneği olan) işe alma ben kısa vadede ihtiyacımız olan budur, ama birisi bana yanlış ne yapıyorum anlamanıza yardımcı olabilir, uzun vadede daha iyi olurdu.

Cheers. Stu

0 Cevap