开发者

PHP: calling a child tag simplexml

Trying to parse a YouTube feed using PHP

simplexml_load_file();

I am able to access other tags pretty simply using

$开发者_开发知识库xml->id;

When I try to access

<openSearch:totalResults>

with

$xml->openSearch->totalResults;

I don't get any results


openSearch is a namespace - it's not the name of the tag, or a parent, or anything like that. Somewhere in the document there will be an attribute called xmlns:openSearch which defines the openSearch namespace (with an URL).

You can use the children method to get children of a certain namespace, and do something like:

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

(You can also use the full URL for the namespace instead of 'openSearch' and leave the true off of the end, which may be beneficial if they ever change their markup or you parse similar feeds from elsewhere which use a different namespace prefix)


Those elements are in a different XML namespace, to obtain them you need to do:

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

Then in the collection that is returned, you will find the elements you need.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜