2010-08-21 4 views
2

J'essaie d'essayer d'utiliser simplexml pour lire un xml feedburner. Je peux lire toutes les propriétés dans le xml mais pas les clés avec ':' dedans. Exemple "feedburner: origLink". Quand je vardump les articles, ces touches avec: ne s'affiche pas. Et je ne peux pas faire comme $ s-> item-> feedburner: origLink.simplexml et accesing feedburner:

S'il vous plaît aviser!

+0

voir http://stackoverflow.com/search?q=[php]+simplexml+namespace – VolkerK

+0

duplication possible de [PHP namespace simplexml problems] (http://stackoverflow.com/questions/2098170/php-namespace- simplexml-problems) – VolkerK

Répondre

3

Vous avez affaire à des espaces de noms, et this Sitepoint article semble être une bonne explication. Ou pour une version plus concise, regardez here in the PHP SimpleXML docs.

De la documentation:

<?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)); 
?> 

Sorties:

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

Si vous êtes paresseux et ne me dérange pas en utilisant webservices google, voici un moyen facile d'obtenir le contenu complet d'un FeedBurner (ou autre) en php feed:

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

Vous pouvez ensuite le jus t json_decode et tout est là dans votre objet/tableau.

+0

D'accord, c'est vraiment un moyen facile d'obtenir le contenu complet d'un feedburner. Ouvrez une grande flexibilité pour un affichage personnalisé. – hyip