Я пытаюсь проанализировать xml, используя simplexml_load_string на старом сервере, работающем на PHP 5.3.Одним из тегов в xml является и имеет несколько вложенных дочерних элементов с атрибутом url.Если я var_dump SimpleXMLElement, изображения - это просто массив строк (дочерние элементы текстового узла каждого тега) без признаков атрибута url.
Есть какие-нибудь мысли о том, почему атрибут url в тегах не фиксируется?
Я пытался сократить атрибуты url тегов изображения примерно до 15 символов, и они до сих пор не захвачены.
Я попытался получить доступ к атрибутам как к элементу массива элемента изображения, а также вызвав метод attribute () для элемента изображения.
Пример XML
<properties xmlns:xs="http://www.w3.org/2001/XMLSchema">
<property>
<reference>####</reference>
...
<images>
<image url="https://#####.#########.###/imgV1/QGcM5YXB7ITu20usXVas9zwwpfszaQl0S7VJWTlCweLw8h1OJgGrQ8SrQZiKyUwAW5EgBoJga_JUxtL~PunupG3r34QY7hcc7wMtgouw9c1H6DUbVNANjxM_Zg--.jpg">A2970_10776141.jpg</image>
<image url="https://#####.#########.###/imgV1/QGcM5YXB7ITu20usXVas9zwwpfszaQl0S7VJWTlCweLw8h1OJgGrQ8SrQZiKyUwAW5EgBoJga_AwVzHs_Ajc3bPh6tAooCEbZkq_ZYbRT5eAjUXsq3Znh_f~Vw--.jpg">A2970_10776142.jpg</image>
...
<links/>
</property>
<property>
...
</property>
</properties>
Мой код
$feed = file_get_contents('test.xml');
$properties = simplexml_load_string($feed);
foreach ($properties as $property) {
var_dump($property->images);
exit;
}
Результат
object(SimpleXMLElement)#5 (1) {
["image"]=>
array(19) {
[0]=>
string(18) "A2970_10776141.jpg"
[1]=>
string(18) "A2970_10776142.jpg"
...
}
}
Я также пробовал:
foreach ($property->images as $image)
{
var_dump($image['url']);
var_dump($image->attributes());
}
$ image ['url'] выводит NULL
$ image-> attribute () выдает ошибку о вызове attribute () для необъекта
В идеале, var_dumping $ property-> images должно выдавать:
object(SimpleXMLElement)#5 (1) {
["image"]=>
array(19) {
[0]=>
object(SimpleXMLElement)#6 (1) {
["@attributes"]=>
array(1) {
["url"]=>
string(162) "https://#####.#########.###/imgV1/QGcM5YXB7ITu20usXVas9zwwpfszaQl0S7VJWTlCweLw8h1OJgGrQ8SrQZiKyUwAW5EgBoJga_JUxtL~PunupG3r34QY7hcc7wMtgouw9c1H6DUbVNANjxM_Zg--.jpg"
}
}
[text]=> "A2970_10776141.jpg"
}
...
}
}