Я создал пакет Laravel для упрощения синтаксического анализа xml:
https://github.com/mtownsend5512/xml-to-array
$xml = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<interface-response>
<tldlist>
<tld>
<tld>co.uk</tld>
</tld>
<tld>
<tld>eu</tld>
</tld>
<tld>
<tld>live</tld>
</tld>
<tld>
<tld></tld>
</tld>
<tldcount>4</tldcount>
</tldlist>
<Command>GETTLDLIST</Command>
<APIType>API</APIType>
<Language>eng</Language>
<ErrCount>0</ErrCount>
<ResponseCount>0</ResponseCount>
<MinPeriod></MinPeriod>
<MaxPeriod>10</MaxPeriod>
<Server>SJL1VWRESELL_T</Server>
<Site>eNom</Site>
<IsLockable></IsLockable>
<IsRealTimeTLD></IsRealTimeTLD>
<TimeDifference>+0.00</TimeDifference>
<ExecTime>0.000</ExecTime>
<Done>true</Done>
<TrackingKey>20caefc5-035d-4a3d-8bbe-2743ea99ea8b</TrackingKey>
<RequestDateTime>5/3/2018 3:02:01 AM</RequestDateTime>
<debug>
<![CDATA[]]>
</debug>
</interface-response>
XML;
С его помощью вы можете конвертировать его с помощью глобального помощника:
xml_to_array($xml);
Или класс
// At the top of your controller:
use Mtownsend/XmlToArray/XmlToArray;
// Then in your code:
XmlToArray::convert($xml);
Теперь у вас будет массив:
array:18 [▼
"tldlist" => array:2 [▼
"tld" => array:4 [▼
0 => array:1 [▼
"tld" => "co.uk"
]
1 => array:1 [▼
"tld" => "eu"
]
2 => array:1 [▼
"tld" => "live"
]
3 => array:1 [▼
"tld" => []
]
]
"tldcount" => "4"
]
"Command" => "GETTLDLIST"
"APIType" => "API"
"Language" => "eng"
"ErrCount" => "0"
"ResponseCount" => "0"
"MinPeriod" => []
"MaxPeriod" => "10"
"Server" => "SJL1VWRESELL_T"
"Site" => "eNom"
"IsLockable" => []
"IsRealTimeTLD" => []
"TimeDifference" => "+0.00"
"ExecTime" => "0.000"
"Done" => "true"
"TrackingKey" => "20caefc5-035d-4a3d-8bbe-2743ea99ea8b"
"RequestDateTime" => "5/3/2018 3:02:01 AM"
"debug" => []
]
Затем отправьте конвертированный xml на просмотр:
return view('your-view')->with(['xml' => $xml]);
Тогда просто переберите все данные, которые вы хотите видеть.