Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > DOM
DOM Forum d'entraide pour l'extension DOM permettant de manipuler des documents XML en PHP 5 (approche DOM). Avant de poster -> tutoriels DOM
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/01/2008, 22h11   #1
Membre confirmé
 
Avatar de sourivore
 
Développeur Java
Inscription : juin 2005
Messages : 443
Détails du profil
Informations personnelles :
Localisation : France, Somme (Picardie)

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : juin 2005
Messages : 443
Points : 278
Points : 278
Par défaut [DOM] Problème de compte de noeud

Bonjour,

Voici mon problème :

Fichier XML :
Code :
1
2
3
4
5
6
7
<document>
  <page id="pageAccueil">
    <titre>
      Site de la guilde Projet Jenovam
    </titre>
  </page>
</document>
Fichier PHP :
Code :
1
2
3
4
5
6
7
$dom = new DomDocument();
    $dom->load('./XML/accueil.xml');
    $racine = $dom->documentElement;
    echo $racine->nodeName."<br>";
    foreach($racine->childNodes as $noeud){
      echo "Un noeud<br>";
    }
Cela me retourne :
Code :
1
2
3
4
document
Un noeud
Un noeud
Un noeud
C'est bizarre le noeud document n'est-il pas censé n'avoir qu'un enfant (page)...

Merci de vos explications
__________________
Toi aussi, crée ton armée de soldat de plomb :
http://souris-bleues.minitroopers.fr/
sourivore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2008, 22h27   #2
Membre expérimenté
 
Inscription : août 2005
Messages : 515
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 515
Points : 557
Points : 557
Bonsoir,
si vous remplacez cette ligne par celle-ci :

Code :
1
2
  // echo "Un noeud<br>";
  echo $noeud->nodeName.'<br>';
Votre script vous retourne :

Code :
1
2
3
4
document
#text
page
#text
Ce qui est un joli début de réponse.

Cordialement,
DaRiaN.
DaRiaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2008, 09h31   #3
Membre confirmé
 
Avatar de sourivore
 
Développeur Java
Inscription : juin 2005
Messages : 443
Détails du profil
Informations personnelles :
Localisation : France, Somme (Picardie)

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : juin 2005
Messages : 443
Points : 278
Points : 278
Merci de ta réponse.

Toutefois je ne comprend pas d'ou viennent ces #text

Tout ce que je voudrais c'est récupérer tous les noeuds directement enfant du noeud racine (dans l'exemple le noeud Page)

Peut-être que je m'y prend mal, je ne sais pas...
__________________
Toi aussi, crée ton armée de soldat de plomb :
http://souris-bleues.minitroopers.fr/
sourivore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2008, 10h34   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Ces noeuds texte proviennent sans doute de l'indentation du document. Auquel cas, pour les ignorer, il est possible de jouer sur la propriété preserveWhiteSpace (lui attribuer une valeur FALSE) de l'objet DomDocument avant chargement de celui-ci.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2008, 13h31   #5
Membre confirmé
 
Avatar de sourivore
 
Développeur Java
Inscription : juin 2005
Messages : 443
Détails du profil
Informations personnelles :
Localisation : France, Somme (Picardie)

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : juin 2005
Messages : 443
Points : 278
Points : 278
C'est vrai je n'y ai pas pensé.
Merci beaucoup de la réponse!
__________________
Toi aussi, crée ton armée de soldat de plomb :
http://souris-bleues.minitroopers.fr/
sourivore est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h37.


 
 
 
 
Partenaires

Hébergement Web