PHP: вызов дочернего тега simplexml - PullRequest
3 голосов
/ 25 мая 2010

Попытка разобрать канал YouTube с помощью PHP

simplexml_load_file();

Я могу получить доступ к другим тегам довольно просто, используя

$xml->id;

Когда я пытаюсь получить доступ к

<openSearch:totalResults>

с

$xml->openSearch->totalResults;

Я не получил никаких результатов

Ответы [ 2 ]

4 голосов
/ 25 мая 2010

openSearch - это пространство имен - это не имя тега или родителя, или что-то в этом роде. Где-то в документе будет атрибут xmlns:openSearch, который определяет пространство имен openSearch (с URL).

Вы можете использовать метод children, чтобы получить дочерние элементы определенного пространства имен, и сделать что-то вроде:

$xml->children('openSearch', true)->totalResults

(Вы также можете использовать полный URL-адрес для пространства имен вместо 'openSearch' и оставить true без конца, что может быть полезно, если они когда-либо изменят свою разметку или вы анализируете аналогичные каналы из других источников, которые используют другой префикс пространства имен)

0 голосов
/ 25 мая 2010

Эти элементы находятся в другом пространстве имен XML, для их получения вам нужно сделать:

$xml->children('openSearch', true);

Затем в возвращаемой коллекции вы найдете нужные вам элементы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...