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 14/11/2007, 04h01   #1
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 321
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 321
Points : 38
Points : 38
Par défaut [DOM] Détection fichier XML

Bonjour,

Voici le lien de mon flux :
http://www.cashoclic.fr/incentivexml.php
Le problème c'est que en principe le navigateur reconnait tout de suite que c'est du xml mais là non
J'ai essayé avec un autre site en l'occurrence adincent et là çà marche on voit bien que sur le lien adincent la page affiche un arbre et que le navigateur détecte du xml !!!
http://www.adincent.com/xml/xml.php?...p=108.45.21.31
Quelqu'un aurait une idée ?
Voici mon code de création du fichier 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
28
29
30
31
32
33
<?php
	require("include/connection.php");
	require("include/maintenance.php");
	$ip=$_SERVER['REMOTE_ADDR'];
	$query2 = "SELECT * FROM publicite WHERE type='clicforce' and clic<quantite and valide=1 and NOT EXISTS (SELECT * FROM visitemembre where visitemembre.id = publicite.idpub and ip='$ip' and datevisite=CURDATE()) order by gainpts desc";
	$result2 = mysql_query($query2, $connection) or die('error making query');
	$affected_rows2 = mysql_num_rows($result2);
	if ($affected_rows2!=0) {
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<CASHOCLIC>';
	while  ($row2  =  mysql_fetch_row($result2))  {
	echo '<PUB>
	     <ID>'.$row2[0].'</ID>';
	if ($row2[4]==''){
		 echo '<IMGSRC>'.$row2[2].'</IMGSRC>
		 <LARGEUR>'.$row2[6].'</LARGEUR>
		 <HAUTEUR>'.$row2[5].'</HAUTEUR>';
	}
	else {
		if ($row2[16]==''){
		 echo '<LIENTEXTE>'.$row2[4].'</LIENTEXTE>';
		}
		else {
		 echo '<LIENTEXTE>'.$row2[4].'</LIENTEXTE>
		 <DESC>'.$row2[16].'</DESC>';
		}
	}
	echo '<LIEN>'.$row2[3].'</LIEN></PUB>';
}
echo '</CASHOCLIC>';
}
mysql_close();
?>
Je ne vois pas le problème, je suppose qu'un habitué le verra rapidement, merci de votre aide à l'avance
Après avoir regardé les sources des deux fichiers xml générés je vois une différence, l'autre est mieux présenté on dirait que les sauts à la ligne sont faits alors que moi non celà peut être le problème ???
pas30 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2007, 09h48   #2
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605

Tu devrais créer ton fichier XML avec les librairies créées à cet effet, tu t'embêterais moins et ton XML sera valide (pas sémantiquement car ça c'est toi qui le contrôle mais syntaxiquement).
Tu as principalement 2 librairies en PHP 5 :
Voici également 2 liens vers des tutos RSS :
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2007, 17h38   #3
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 321
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 321
Points : 38
Points : 38
Il faut nécessairement enregistrer le résultat au format .xml car je vois partout faire savexml dans un fichier .xml. Moi j'ai juste un fichier php qui créé à l'intérieur de lui même une source xml et j'aimerais que cette source puisse être appeler par la suite donc je ne sauvegarde rien du tout c'est php qui fait juste des echo et qui retourne dans le source de la page du xml.
Bon sinon je vais regarder simplexml qui me semble plus facile à exploiter à première vue, que me conseillerais-tu ?
Et sinon celà me créera un fichier xml bien structuré ? et serais-je obligé d'enregistrer le source xml dans un fichier. Moi je voudrais que le flux xml soit variable à chaque appel car il se base sur l'ip de la personne, si la personne fait un clic, on fait appel au flux et il aura changé car la bannière cliqué aura disparu, c'est magique

Merci
pas30 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2007, 18h53   #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
Citation:
Envoyé par pas30
Il faut nécessairement enregistrer le résultat au format .xml car je vois partout faire savexml dans un fichier .xml. Moi j'ai juste un fichier php qui créé à l'intérieur de lui même une source xml et j'aimerais que cette source puisse être appeler par la suite donc je ne sauvegarde rien du tout c'est php qui fait juste des echo et qui retourne dans le source de la page du xml.
Si c'est une question, la réponse est bien évidemment non.

Citation:
Envoyé par pas30
Bon sinon je vais regarder simplexml qui me semble plus facile à exploiter à première vue, que me conseillerais-tu ?
SimpleXML c'est l'API la plus facile à utiliser mais présente éventuellement quelques limitations (manipulations des noeuds, espaces de nom lors de la lecture ou accès, ...) : tout dépend de vos besoins.

Citation:
Envoyé par pas30
Et sinon celà me créera un fichier xml bien structuré ?
C'est le but de ce genre de bibliothèques (terme généraliste ne faisant pas particulièrement référence au langage PHP). Et vu leur caractère spécialisé, ça permet d'éviter de distribuer un document XML mal construit (fréquentes sont les erreurs au niveau des entités, des encodages, ...).

Citation:
Envoyé par pas30
et serais-je obligé d'enregistrer le source xml dans un fichier.
Encore une fois : non (SimpleXML => méthode SimpleXMLElement->asXML sans paramètre et pour DOM => méthode DomDocument->saveXML).

Pour répondre à la question initiale : n'aurait-il pas suffit de forcer l'entête via la fonction header (Content-type: text/xml par exemple) ? Mais celle-ci n'a de sens que pour ceux qui en tiennent compte (comme les navigateurs par exemple).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2007, 22h05   #5
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 321
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 321
Points : 38
Points : 38
Je viens de faire des tests pour comprendre mieux. J'ai pris mon source qui pose problème et je l'ai enregistré direct dans un fichier xml et je l'ai retransféré sur le serveur et là il le reconnait correctement donc c'est l'extension qu'il n'aime pas.
L'autre site dont je parlais dans le topic au début arrive à afficher le xml dans du php, est-ce que ce ne serait DOM qui fait quelquechose de particulier par rapport à des echo comme j'ai fait ???
Et le savexml il fait quoi ?

Merci
pas30 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2007, 17h15   #6
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 321
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 321
Points : 38
Points : 38
J'ai utilisé DOM de php5 et celà fonctionne merci à tous
pas30 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 07h11.


 
 
 
 
Partenaires

Hébergement Web