taupe
2008-01-28 18:07:38 UTC
Salut à tous,
Il semble que la classe DomDocument native dans php5 n'ignore pas les sauts
de ligne dans un xml et que du coup il m'ajoute des nodes non désirés. Par
exemple pour un xml comme ça :
<root>
<item><titre>A</titre></item>
<item><titre>B</titre></item>
</root>
... il me dit que root contient 5 childNodes au lieu de 2. Si je vire tout
les sauts de ligne du xml il me renvoit bien 2 childNodes. Comment régler ce
problème ? En actionscript il existe une propriété nommée ignoreWhite qui
sert justement à ça mais je ne trouve pas d'équivalent en php !
Aussi je n'arrive pas à utiliser la méthode getElementsByTagName.
$dom = new DomDocument();
$dom->load('xml/poste.xml');
foreach ($dom->firstChild->childNodes as $child) {
$tmp = $child->getElementsByTagName('titre');
echo $tmp->nodeName;
}
J'obtiens cette erreur, comme si l'objet renvoyé par getElementsByTagName
n'était pas un noeud xml :
Notice: Undefined property: DOMNodeList::$nodeName (etc...)
Si vous savez comment ça marche, je veux bien un coup de main.
Merci !
taupe
Il semble que la classe DomDocument native dans php5 n'ignore pas les sauts
de ligne dans un xml et que du coup il m'ajoute des nodes non désirés. Par
exemple pour un xml comme ça :
<root>
<item><titre>A</titre></item>
<item><titre>B</titre></item>
</root>
... il me dit que root contient 5 childNodes au lieu de 2. Si je vire tout
les sauts de ligne du xml il me renvoit bien 2 childNodes. Comment régler ce
problème ? En actionscript il existe une propriété nommée ignoreWhite qui
sert justement à ça mais je ne trouve pas d'équivalent en php !
Aussi je n'arrive pas à utiliser la méthode getElementsByTagName.
$dom = new DomDocument();
$dom->load('xml/poste.xml');
foreach ($dom->firstChild->childNodes as $child) {
$tmp = $child->getElementsByTagName('titre');
echo $tmp->nodeName;
}
J'obtiens cette erreur, comme si l'objet renvoyé par getElementsByTagName
n'était pas un noeud xml :
Notice: Undefined property: DOMNodeList::$nodeName (etc...)
Si vous savez comment ça marche, je veux bien un coup de main.
Merci !
taupe