PHP Итерация simplexml в цикле foreach

У меня есть объект simplexml, который выглядит ниже

<?xml version="1.0"?> <SalesInvoices xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://api.unleashedsoftware.com/version/1"> <SalesInvoice> <OrderNumber>100</OrderNumber> </SalesInvoice> <SalesInvoice> <OrderNumber>101</OrderNumber> </SalesInvoice> </SalesInvoices> 

Я хочу перебрать его и напечатать только номер заказа. Я использую этот скрипт:

 foreach ($xml->SalesInvoices->SalesInvoice as $salesinvoice) { echo "hello"; echo $salesinvoice->OrderNumber; } 

Когда я это делаю, я вообще не получаю выход из цикла, даже «привет» не печатает. Что я делаю не так?

Related of "PHP Итерация simplexml в цикле foreach"

Делать

 <?php $string = '<?xml version="1.0"?> <SalesInvoices xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://api.unleashedsoftware.com/version/1"> <SalesInvoice> <OrderNumber>100</OrderNumber> </SalesInvoice> <SalesInvoice> <OrderNumber>101</OrderNumber> </SalesInvoice> </SalesInvoices>'; $xml = simplexml_load_string($string); foreach($xml as $SalesInvoice) { print $SalesInvoice->OrderNumber; }