开发者

simplexml and accessing feedburner's : [duplicate]

This question already has answers here: Reference - How do I handle Namespaces (Tags and Attributes with a Colon in their Name) in SimpleXML? (2 answers) Closed 4 years ago.

I'm trying trying to use simplexml to read a feedburner xml. I ca开发者_如何学Pythonn read every properties in the xml but not the keys with ':' in it. Example "feedburner:origLink". When I vardump the items, those keys with : doesn't show up. And I can't do like $s->item->feedburner:origLink.


You're dealing with namespaces, and this Sitepoint article looks like a good long explanation. Or for a more concise version, look here in the PHP SimpleXML docs.

From the docs:

<?php
$xml = '<example xmlns:foo="my.foo.urn">
  <foo:a>Apple</foo:a>
  <foo:b>Banana</foo:b>
  <c>Cherry</c>
</example>';

$sxe = new SimpleXMLElement($xml);

$kids = $sxe->children('foo');
var_dump(count($kids));

$kids = $sxe->children('foo', TRUE);
var_dump(count($kids));

$kids = $sxe->children('my.foo.urn');
var_dump(count($kids));

$kids = $sxe->children('my.foo.urn', TRUE);
var_dump(count($kids));

$kids = $sxe->children();
var_dump(count($kids));
?>

Outputs:

int(0)
int(2)
int(2)
int(0)
int(1)


If you're lazy and don't mind using google webservices, here's an easy way to get the full contents of a feedburner (or other) feed into php:

http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=100&q=http://feeds.feedburner.com/variety/headlines

You can then just json_decode it and it's all there in your object/array.

0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜