Получить тег значения из xml - PullRequest
0 голосов
/ 10 декабря 2018

Как я могу получить значение тега «Код», например, из этого XML?

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
        <soapenv:Header/>
        <soapenv:Body>
                <wsm:CreateCustomer>
                        <wsm:xmlCustomer>
                                <x60:Customer>
                                        <x60:Code></x60:Code>
                                        <x60:Shippment>
                                                <x60:ShipToAddress>
                                                        <x60:Code></x60:Code>
                                                        <x60:ShipISOCountry></x60:ShipISOCountry>
                                                </x60:ShipToAddress>
                                        </x60:Shippment>
                                </x60:Customer>
                        </wsm:xmlCustomer>
                </wsm:CreateCustomer>
        </soapenv:Body>
</soapenv:Envelope>

Я должен использовать функцию SimpleXML?Спасибо!

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018
$crawler = new Crawler($xml); // composer require symfony/dom-crawler
$first = $crawler->filter('Customer')->filter('Code')->text();
$second = $crawler->filter('ShipToAddress')->filter('Code')->text();
0 голосов
/ 10 декабря 2018

вы можете использовать xpath для этого.

$xml = new SimpleXMLElement($string);
$result = $xml->xpath('//*/x60:Code');

while(list( , $node) = each($result)) {
    echo 'Code = ',$node,"\n";
    break; 
}
...