Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML
XML Forum d'entraide sur XML avec PHP. Exemples : SimpleXML, OpenXML... Avant de poster -> FAQ XML, Cours XML et Sources XML
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 16/12/2011, 21h03   #1
Invité de passage
 
Homme sebastien morais
Étudiant
Inscription : décembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme sebastien morais
Localisation : Canada

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2011
Messages : 2
Points : 1
Points : 1
Par défaut Problème de conservation des balises XML

Bonjour,

Sur mon site, j'ai un XML qui contient le texte de mon site dépendamment la langue choisi, ainsi que leurs balises HTML(p, ul, li,...). Je désire allez chercher ses balises telles qu'elles avec le texte, mais lorsque je vais le cherchez ($contenu->getElementsByTagName("text")->item(0)->nodeValue ), je perd mes balises et il n'y a que le texte qui apparait. J'ai essayé de convertir mes balises avec htmlentities() avant d'aller les chercher et de le reconvertir en balise avec html_entity_decode(), mais les tentatives ont échoué.

Merci d'avance pour vos conseils,
Keldus
Étudiant en programmation Web

P.S:Voici mon code:
XML:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<tkd>
	<tkdtexte>
		<content lang="fr">
			<title></title>
			<text>
				<p>Fondé depuis plus de 30 ans, le club Taekwondo Anjou est formé d'une équipe des plus professionnelle.</p>
				<p>Des instructeurs qualifiés sont à votre disposition pour des entrainements agréables et sécuritaires. Tous ont une formation de RCR et de premiers soins.</p>
				<p>La pratique du Taekwondo est offerte à tous. Ce sport procure un bon conditionnement physique et améliore la souplesse et la coordination des mouvements. De plus, cet art favorise la discipline, la confiance en soi et un bon équilibre de l'esprit.</p>
				<p>Le Taekwondo est une discipline olympique.</p>
				<p>Le club Taekwondo Anjou vous founit des équipements adéquats comme:</p>
					<ul>
						<li>plastron</li>
						<li>casque</li>
						<li>cible de frappe de toutes grandeurs</li>
						<li>cordes à danser</li>
					</ul>
				<p>Cours pour enfants de 6 ans à 12 ans, débutants et avancers.</p>
				<p>Cours pour adultes de 13 ans et plus, debutants et avancers.</p>
				<h3>Au plaisir de vous voir dans notre groupe d'élèves des plus dynamiques.</h3>Ce que je veux garder intacte
			</text>
		</content>
		<content lang="en">
			<title>New site</title>
			<text>Welcome to our new Website</text>
		</content>
	</tkdtexte>
</tkd>
La classe qui va chercher le XML:


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class TexteData extends XmlData {
 
	public function lireDonnees($lan) {
		$objetsTextetab = array();
		$doc = $this->obtenirDocXML();
		$textes = $doc->getElementsByTagName("tkd");
		foreach($textes as $texte) {
				$lesContenus = $texte->getElementsByTagName("content");
				foreach($lesContenus as $contenu) {
					if($contenu->getAttribute("lang")==$lan) {
						$titre = $contenu->getElementsByTagName("title")->item(0)->nodeValue;
						$texte = $contenu->getElementsByTagName("text")->item(0)->nodeValue;
						break;
					}
				}
				$objTexte = new Texte($titre,$texte);
				$objetsTextetab[] = $objTexte;
		}
		return $objetsTextetab;
	}
}
Et la façon dont j'importe les balises dans ma page PHP:

Code :
1
2
3
4
5
6
7
include("classes/texte.cls.php");
include("classes/texte_data.cls.php");
$textesData = new TexteData("data/texteIndex.xml");
$textes = $textesData->lireDonnees($lan);
foreach($textes as $texte) {
    echo $texte->getTexte();
}
keldus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2011, 13h48   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 454
Points : 3 454
Citation:
lorsque je vais le cherchez $contenu->getElementsByTagName("text")->item(0)->nodeValue ), je perd mes balises et il n'y a que le texte qui apparait.
C'est normal. Pour conserver les balises il faut utiliser la méthode DOMDocument::saveXML( ) en donnant en paramètre le noeud à récupérer.
http://www.php.net/manual/fr/domdocument.savexml.php
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 02h14   #3
Invité de passage
 
Homme sebastien morais
Étudiant
Inscription : décembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme sebastien morais
Localisation : Canada

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2011
Messages : 2
Points : 1
Points : 1
Merci!! ça marche
keldus 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 01h57.


 
 
 
 
Partenaires

Hébergement Web