Précédent   Forum du club des développeurs et IT Pro > 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
 
Outils de la discussion
Publicité
'
Vieux 05/07/2012, 11h54   #1
mercure07
Membre du Club
 
Inscription : février 2008
Messages : 253
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 253
Points : 44
Points : 44
Par défaut Données fichier XML sur une même ligne

Bonjour tout le monde,
J'utilise DomDocument pour afficher des données extraites depuis la base de données sous format XML dans un fichier.
Pour cela j'utilise le code suivant pour la déclaration de l'objet DomDoc
Code :
1
2
$objetDom = new DOMDocument('1.0','UTF-8');
	$dom->formatOutput = TRUE;
et la fonction suivant pour la création des noeuds dans le document.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
function createXml($objetDom,$balise,$parent,$text_balise)
{
	//création de l'élement 
	$element = $objetDom->createElement($balise);
 
	//si le parent n'est pas renseigner on parle de neoud principale
	if (empty($parent))
		$element = $objetDom->appendChild($element);
	else
		$element = $parent->appendChild($element);
 
	//affecter le texte pour le noued 
	$text = $objetDom->createTextNode($text_balise);
	$text = $element->appendChild($text);
 
	return $element;
}
$objetDom->save(MONO_SITE_PATH."Compo.xml");
Le code génére bien un fichier XML mais le problème c'est que lorsque j'ouvre le ficher avec Notepad ++, toutes les données sont affichées sur une même ligne malgré que j'ai bien mentionné la propriété formatOutput à True.
Est ce que quelqu'un a une idée sur ce problème et puisse m'aide à le résoudre.
Merci d'avance pour votre aide.
Bien cordialement.
mercure07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2012, 17h39   #2
gene69
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 1 626
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 1 626
Points : 1 992
Points : 1 992
et ce qu'il y a des symboles \n voir \r dans le document xml?
__________________
PHP fait nativement la validation d'adresse électronique .
Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.
Soyez moderne: mysqli_connect() or throw Exception(mysqli_connect_error());

PHP: un problème ? décrivez le avec ceci.

Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2012, 08h30   #3
mercure07
Membre du Club
 
Inscription : février 2008
Messages : 253
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 253
Points : 44
Points : 44
Merci pour votre réponse. Je n'ai rajouté aucun \n ou \r dans le document XML.
Par contre, les données peuvent être du texte qui contient des retours chariot.
mercure07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2012, 11h26   #4
gene69
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 1 626
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 1 626
Points : 1 992
Points : 1 992
et tous les noeuds ont la property $dom->formatOutput == TRUE ?
__________________
PHP fait nativement la validation d'adresse électronique .
Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.
Soyez moderne: mysqli_connect() or throw Exception(mysqli_connect_error());

PHP: un problème ? décrivez le avec ceci.

Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2012, 15h02   #5
mercure07
Membre du Club
 
Inscription : février 2008
Messages : 253
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 253
Points : 44
Points : 44
Non, La propriété $dom->formatOutput = TRUE est déclarée une seule fois après l'instanciation de l'objet DomDocument.
Est ce que je dois la déclarer pour chaque noeud ?
mercure07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h07.


 
 
 
 
Partenaires

Hébergement Web