[PHP] Ecrire un XML pour RSS - Impossible? o_O

Moi je trouve ça logique, insert_before() n’est pas définie dans la classe DOMNodeList, mais dans la classe DOMNode.

Essaie de remplacer

$a->item(0)->insertBefore($item, $b);

par

DomNode::insertBefore($item, $b);

pour voir ?

Une NodeList n’est rien de plus qu’une liste de Node. Donc $a (type DomList) -> items(0) (type Node) -> insertBefore est tout à fait normal.

Oui ça j’ai pigé, enfin plus ou moins, en gros dans les classes faut faire gaffe au type, et utiliser les fonctions qui vont avec, Ok. Mais ce que je ne comprends pas, c’est l’interêt du 0 comme id de l’item… Si item(0) représente l’item à l’index 0 (d’après TFM), ça voudrait dire que le firstChild ne sert pas à grand chose car on a déjà prie le premier item! C’est là où je comprends pas trop le raisonnement, j’ai du zappé une étape, peut-être que l’id 0 de l’item correspond au premier element ayant pour tag “channel”, dans ce cas là je comprends l’interêt, sinon j’vois pas :confused: !

Parce que moi j’ai lcompris que item(0) signifie le premier objet compris dans “channel”… C’est là que je dois me rater nah ?

C’est que tu n’as rien compris en fait.

firstChild te renvoie le premier élément du premier tag channel (d’index 0, logiquement).

Dans le cas d’un élément (d’un noeud donc), firstChild et item(0) (si la méthode est disponible, vu qu’il me semble pas qu’un Node soit un NodeList) revient au même.

Dans le cas de getElementByTagName() ça te renvoie une liste d’éléments, qui à priori ne sont pas contigues.

C’est tout :slight_smile: