У меня есть объект 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; }
Когда я это делаю, я вообще не получаю выход из цикла, даже «привет» не печатает. Что я делаю не так?
Делать
<?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; }