Forums Développement Multimédia

Aller au contenu

PHP DOM & XML

CODE HTML CSS

1 réponse à ce sujet

#1 didav_is_here

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 56 messages

Posté 29 October 2010 - 17:49 PM

Salut à tous,
Je rencontre pas mal de problème pour lire un XML avec par PHP DOM. L'utilisation de getElementById me rend fou.
Voici la composition de mon XML (news_fr.xml) :

<?xml version="1.0" encoding="utf-8"?>
<niouz>
        <news id="a1">
                <news_date>01-01-2010</news_date>
                <news_langue>fr</news_langue>
                <news_categorie>Qualit&eacute;</news_categorie>
                <news_titre>test 1</news_titre>
                <news_texte>tetvcrfds</news_texte>
                <news_image>images/actus/</news_image>
        </news>
        <news id="a2">
                <news_date>01-01-2010</news_date>
                <news_langue>fr</news_langue>
                <news_categorie>Qualit&eacute;</news_categorie>
                <news_titre>test 2</news_titre>
                <news_texte>regrgre</news_texte>
                <news_image>images/actus/</news_image>
        </news>
</niouz>
 

Voici la composition de mon PHP pour la lecture de mes noeuds <news>:
                <?php

		if(isset($_GET['langue'])) $langue = $_GET['langue'];
		else $langue = '';
		if(isset($_GET['id'])) $id = $_GET['id'];
		else $id = '';

					if($langue == 'fr') {$fichier = 'news_fr.xml';}
					else {$fichier = 'news_uk.xml';}
					
					$dom = new DOMDocument('1.0', 'utf-8');
					$dom->validateOnParse = true;
					$dom->load($fichier);
					
					$news_node = $dom->getElementById('a'+$id);					
					$news_date = $news_node->nodeValue;

					echo '<h1>'.$news_date.'</h1>';
					
				?>

J'ai l'erreur suivante : Notice: Trying to get property of non-object in "ligne echo"
Comment récupérer les différents noeuds qui compose <news> par un id.
Merci d'avance pour votre aide.

#2 neolao

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 3827 messages

Posté 30 October 2010 - 09:22 AM

tu as mis
'a' + $id
c'est plutôt
'a' . $id




1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP