Pages :
(reprise du message précédent)

L'erreur est compréhensible (utilise un traducteur si tu ne comprends pas) mais ça indique que la méthode getelementsbytagname n'existe pas dans un objet domdocument… Il y a un jolie problème quelque pars je ne sais où.
Tu peux toujours essayer avec SimpleXMLElement, dans la doc il y a des exemples pour l'utiliser.
slt,
en fait j'ai déjà changer hier en simpleXML j'ai fait comme dans un des exemples d'ailleur

$xmlUrl = "texteRubriqueEn.xml"; // XML feed file/URL
$xmlStr = file_get_contents($xmlUrl);
$xmlObj = simplexml_load_string($xmlStr);
$xmlObj->NODETOP[0]->ACCUEIL;


mais le message d'erreur cette fois ci c'est :
a écrit :

Fatal error: Call to undefined function: simplexml_load_string() in /homez.34/domainen/www/BOtexteEn.php on line 115


ce que j'arrive à voir avec tt ces erreur c'est qu'on dirais qu'il ne voit pas le fichier or que j'ai verifier et il est bien là.
Salut cescathi

simplexml_load_string ( ), ne concerne que le XML codé en dur.

Exemple :

$xml = '<balisexml> . . . texte . . . </balisexml>
$source = simplexml_load_string ( $xml );


Toi tu cible un fichier XML : $xmlUrl = 'texteRubriqueEn.xml';
Donc c'est : $source = simplexml_load_file ( $xmlUrl );

Mais tu dois aussi charger le document xml pour affichage :
echo $source->asXML ( ); // Le document xml au complet en affichage.

Comme ceci : affichage non formater.

$xmlURL = 'xml/monFichier.xml';
$source = simplexml_load_file ( $xmlURL );
echo $source->asXML ( );


Ensuite tu code pour cibler un ou des noeuds en particulier.
Avec une boucle foreach par exemple ou autre type de boucle.

Avec DomDocument maintenant :

$docXML = new DomDocument();
$docXML->load ('xml/fiche.xml');
// -- On renvoie la totalité du document --
echo $docXML->saveXML();
// -- On se place au niveau du root --
$source = $docXML->documentElement;
/* Placer au niveau du noeud parent 
tu pourras cibler un noeud en particulier */


++
Modifié par zardoz (18 Aug 2010 - 19:53)
salut zardoz,
ok je vais voir ça, mais dis moi, faire un


echo $source->asXML ( );
ou encore
echo $docXML->saveXML();


ne va-t-il pas faire un affichage qlq part dans ma page? (chose que je ne veux pas .. Smiley smile )?

tu es vuie que j'ai déjà fait un "simplexml_load_file()" et il a vue aussi une erreur.. ou encore "file-get-content()" et c'est tjrs le mm cas... il voit tt le tmps une erreur

à+
bon ba voilà le resultat :
a écrit :


Fatal error: Call to undefined Smiley bawling ction: simplexml_load_file() in /homez.34/domainen/www/BOtexteEn.php on line 114

il n'arrive pas à voir le fichier on dirait Smiley decu

Bon dites moi les gars, est ce qu ece serait possible que le pb vienne du serveur? serieusement, ptet un truc non activer ou qlq chose du genre... pour pouvoir manipuler des ficher XML .... les CHMODS ou truc du genre quoi? je commence vraiment à voir noir là Smiley bawling

car je trouve que les codes que j'ai essayer etaient tgous bon mais le pb pourrait etre ailleur en plus les codes fonctionnent en LOCAAAL ....... snif snif Smiley bawling
cescathi a écrit :
salut zardoz
. . .
ne va-t-il pas faire un affichage qlq part dans ma page?


Oui en effet mais c'est juste une façon de voir si on est sur la bonne voie.
Moi personnellement je place toujours les données non formater, ensuite je développe le programme pour cibler les noeuds dont j'ai besoin.

Tu raconte que ça marche en localhost ?
Assure toi que la dernière version de ton programme sois bien uploadé sur ton serveur.
Les objets XML sont toujours actifs en PHP (par défaut). Aucune raison que ça ne fonctionne pas.

++
en fait mm mon 1er programme mm fonctionnait déjà en locahost, c'est ça qui m'a surpris une fois que c'était mis en ligne.
je vais te mettre ici mon 1er truc et tu verras et je precise ça fonctionnais en local :

[code]
alors pour moi c'etait fait...mais imagine ma surprise après....
comment tu trouve ce 1er code? et l'erreur il le mettait à la 3ème ligne , c'etait le commencement et après j'ai commencer à retoucher et mm jusqu'à changer en simpleXML, j'ai laissé le dom mais bon rien n'y fait. Smiley decu

tu peux voir ici mm la 1ère erreur.
Salut Francesca,

pourrais-tu faire un effort sur l'orthographe et la lisibilité de tes messages car comme tu le sais sûrement, la vocation de ce forum est d'être accessible à tous... même aux personnes qui suivent ton sujet à l'aide d'une synthèse vocale. Cela sous-entend limiter les abréviations à celles connues et reconnues, éviter le sms, relire tes phrases...

Merci de ta compréhension. Smiley cligne
ok pas de pb, exusez moi, je vais faire attention.

pour mon code, je ne sais pas ou il est passé attend je le met ici :

$dom = new DomDocument;
$dom->load("xml/texteRubriqueEn.xml");

$nodetop= $dom->getElementsByTagName('NODETOP')->item(0);
$accueilContent = $nodetop->getElementsByTagName('ACCUEIL');
foreach($accueilContent as $accueil)

echo $accueil->nodeValue;


voilà mon 1er code et cela marchais en local sans problème.
Salut cescathi
code XML

<?xml version="1.0" encoding="utf-8"?>
<sources>
 <cible>
   <auteur>Daniel Miller</auteur>
   <titre>Les technologies XML</titre>
   <nombrePage>543</nombrePage>
   <edition>Infos-Pacifique</edition>
   <genre>Développement web</genre>
   <prix>$89.59</prix>
 </cible>
 <cible>
   <auteur>Sara McField</auteur>
   <titre>API - Application Programming Interface</titre>
   <nombrePage>767</nombrePage>
   <edition>Ground Zero</edition>
   <genre>Development interface</genre>
   <prix>$99.79</prix>
 </cible>
</sources>

Code PHP - DomDocument

<?php
  $br = '<br>';
  echo '<body style="font-family:Helvetica, Arial, sans-serif; font-size:0.9em;">';
  # --
  define('TYPE_ELEMENT', 1);
  # --
  $document = new DomDocument();
  $document->load("xml/sources_01.xml");
  $auteur = $document->getElementsByTagName('auteur');
  # --
  foreach($auteur as $cible)
    if ($cible->nodeType == TYPE_ELEMENT)
      echo utf8_decode($cible->nodeValue) . $br;

  // ---------------------
  // Résultat : Daniel Miller
  /////////// : Sara McField
  // ---------------------
?>


À dire vrai je ne comprend pas ton problème.
Sur le serveur plus rien ne fonctionne semble-t-il. Non je ne vois pas.

Cependant tu n'a pas à écrire deux fois : getElementsByTagName ('nomBalise');
Tu cible directement la balise parente et ses enfants. Ou une balise enfant spécifique.

Si j'avais écrit getElementsByTagName ('cible'); - J'afficherais toutes les informations de tous les blocs « cible » et des balises enfants. « auteur - titre - nombrePage - edition » etc.

++
Modifié par zardoz (19 Aug 2010 - 22:49)
re-
ok merci de l'aide c'est important pour moi de pouvoir réussir cette étape.
Je vais voir tout ça et reviendrais ici pour les résultats. Smiley cligne

je vais travailler en ligne directement cette fois-ci.
à bientot.

++
slt,
Zardoz
bon j'ai fait ce que tu m'as donné à la fin là et voici l'erreur qu'il donne :
a écrit :

Warning: domdocument() expects at least 1 parameter, 0 given in /homez.34/domainen/www/BOtexteEn.php on line 117

Fatal error: Call to undefined method: domdocument->load() in /homez.34/domainen/www/BOtexteEn.php on line 119



peut être que à partir de là tu pourrais voir ou est vraiment l'erreur car j'ai mis ce que tu m'as donné, en mettant les vrais liens qd mm. Smiley smile
Pages :