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 :
... 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');
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Mickael Wolff
Bonjour,
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 :
Ben non, il ne les ajoute pas. Ils sont bien là. Ce sont des n½uds qui doivent être données.
... 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 ?
Et pourtant il y a cinq n½uds.
En actionscript il existe une propriété nommée ignoreWhite qui sert justement à ça mais je ne trouve pas d'équivalent en php !
http://fr2.php.net/manual/fr/ref.dom.php Propriété DOMDocument::PreserveWhiteSpace, mais je ne penses pas que ça résolves ton problème. Ce que tu peux faire, c'est d'utiliser DOMXPath :
$doc = new DOMDocument() ; $doc->load('xml/poste.xml') ; $doc->preserveWhiteSpace = false; $butcher = new DOMXPath($doc) ;
Comme l'indique la documentation, comme le suppose le nom de la fonction, et comme l'indique le message d'erreur, c'est un objet DOMNodeList qui est renvoyé ;)
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 :
Ben non, il ne les ajoute pas. Ils sont bien là. Ce sont des n½uds qui
doivent être données.
... 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 ?
Et pourtant il y a cinq n½uds.
En actionscript il existe une propriété nommée ignoreWhite qui
sert justement à ça mais je ne trouve pas d'équivalent en php !
http://fr2.php.net/manual/fr/ref.dom.php
Propriété DOMDocument::PreserveWhiteSpace, mais je ne penses pas que
ça résolves ton problème. Ce que tu peux faire, c'est d'utiliser DOMXPath :
$doc = new DOMDocument() ;
$doc->load('xml/poste.xml') ;
$doc->preserveWhiteSpace = false;
$butcher = new DOMXPath($doc) ;
Comme l'indique la documentation, comme le suppose le nom de la
fonction, et comme l'indique le message d'erreur, c'est un objet
DOMNodeList qui est renvoyé ;)
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 :
Ben non, il ne les ajoute pas. Ils sont bien là. Ce sont des n½uds qui doivent être données.
... 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 ?
Et pourtant il y a cinq n½uds.
En actionscript il existe une propriété nommée ignoreWhite qui sert justement à ça mais je ne trouve pas d'équivalent en php !
http://fr2.php.net/manual/fr/ref.dom.php Propriété DOMDocument::PreserveWhiteSpace, mais je ne penses pas que ça résolves ton problème. Ce que tu peux faire, c'est d'utiliser DOMXPath :
$doc = new DOMDocument() ; $doc->load('xml/poste.xml') ; $doc->preserveWhiteSpace = false; $butcher = new DOMXPath($doc) ;
Comme l'indique la documentation, comme le suppose le nom de la fonction, et comme l'indique le message d'erreur, c'est un objet DOMNodeList qui est renvoyé ;)