Есть xml:
<metadata xmlns="http://musicbrainz.org/ns/mmd-2.0#" xmlns:ns2="http://musicbrainz.org/ns/ext#-2.0" created="2018-08-01T18:05:33.207Z">
<recording-list count="1712634" offset="0">
...
Пытаюсь получить доступ к значению атрибута count
:
$xml_workflow = new SimpleXMLElement($xml);
$releases_found = intval($xml_workflow->metadata->{'recording-list'}->attributes()['count']);
Но получаю ошибку:
PHP Fatal error: Uncaught Error: Call to a member function attributes() on null
Что не так в моём коде? Атрибуты же есть у xml-элемента.
В вашей строке имеется лишний элемент metadata
:
intval($xml_workflow->metadata->{'recording-list'}->attributes()['count']);
Поэтому стоит записать так:
$releases_found = (int) $xml_workflow->{'recording-list'}->attributes()['count'];
Что не так в моём коде?
Походу да
// Для примера взята строка XML следующего содержания
$string = <<<XML
<metadata xmlns="http://musicbrainz.org/ns/mmd-2.0#" xmlns:ns2="http://musicbrainz.org/ns/ext#-2.0" created="2018-08-01T18:05:33.207Z">
<recording-list count="1712634" offset="0">
</recording-list>
</metadata>
XML;
// Загружается из строки
$xml = simplexml_load_string($string);
// Не нужно использовать metadata, просто обратитесь к $xml->{'recording-list'}
foreach($xml->{'recording-list'}->attributes() as $a => $b) {
echo $a,'="',$b,"\"\n";
}
Результат:
count="1712634"
offset="0"
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
INSERT ничего не добавляет в БД при использовании в VALUES переменных, как только я уже не пробовал записывать, не понимаю как всё таки нужноНо работает...
Всем добрый день! У меня встала задача, выводить на сайте файлы DOC в виде PDFИсходный файл DOC храниться в базе данных в виде бинарного кода
Линковщик выдаёт ошибку undefined reference to '_imp__lib_test@8'Если использовать nm то можно найти что в библиотеке есть функция _imp__lib_test но она без @8