Lire des articles d'1 serveur sur 1 autre serveur?MSSQL& XML, PHP,.NET

Lire des articles d'1 serveur sur 1 autre serveur?MSSQL& XML, PHP,.NET - XML/XSL - Programmation

Marsh Posté le 22-03-2007 à 18:30:30    

Bon je ne sais pas trop dans quelle catégorie il fallait que je me mette car ça touche du .Net, du T-SQL, du Php et du XML.
 
Voilà l'histoire. On ajoute/modifie/supprime des articles sur un site web A qui est sur un serveur Windows 2003 avec IIS et une base de donnée MSSQL.
 
Maintenant, on veut accéder à ces articles sur un site web B qui est sur un autre serveur (d' un autre hébergeur) Apache avec PHP (4.x).
 
Je cherche des idées ou plutôt des directions. Mon idée était de générer un fichier XML et de le récupérer en php et de travailler avec.
 
Le problème, je n'ai jamais vraiment travailler avec le XML donc je ne sais pas trop comment faire. Et je ne sais pas si c'est une bonne idée.
 
J'ai vu MS-SQL pouvait générer le résultat des requetes SQL en XML direct. Mais j'ai fait quelques tests je n'arrive pas à avoir le résultat complet. J'ai lu aussi sur les webservice.  
 
ET côté PHP, comment je fais une fois que je récupère le fichier.  
 
Si quelqu'un pouvait me donner quelques tuyaux , ça serait cool. Merci d'avance.
 

Reply

Marsh Posté le 22-03-2007 à 18:30:30   

Reply

Marsh Posté le 22-03-2007 à 19:55:07    

pour manipuler des fichiers XML, tu as 2 API : DOM et SAX. (enfin, y en a d'autres, mais ce sont les plus répandues)
 
DOM => Document Object Model
Ca génère en mémoire une structure arborescente représentant tout ton document XML. C'est assez facile à utiliser pour ajouter des éléments par exemple, mais, ça peut consommer pas mal de mémoire si ton fichier XML est énorme (comprendre : vraiment énorme). C'est, entre autre, utilisé en JavaScript (quand tu fais un document.getElementById("toto" ).innerHTML="<h1>hello world</h1>" )
 
SAX => Simple API for XML
Là c'est plus light en utilisation mémoire. Le but de cette API est de parcourir tout ton fichier XML et d'exécuter des actions suivant les noeuds rencontrés. Ces actions, c'est à toi de les définir.
 
il y a une implémentation de DOM dans PHP4. Pour SAX, je ne sais pas.
 
Une autre solution, si ton but c'est de transformer ton fichier XML dans un autre format XML ou en HTML ou en texte, tu peux faire une feuille XSL et programmer une fonction PHP qui effectue la transformation.
 
Quand au XML-SQL, je ne sais pas m'en servir.


Message édité par Dumbledore le 22-03-2007 à 19:57:20
Reply

Marsh Posté le 22-03-2007 à 20:28:51    

J'ai réussi à créer le fichier XML directement de SQL en dotnet.
 
J'étais entrain de lire justement sur les feuille XSL (http://devzone.zend.com/node/view/id/1302) . Le problème c'est que ça utilise xslt_create();. Je teste sur easyphp et ça ne marche pas. Je ne sais pas quoi faire pour le faire fonctionner.  
 
Mais j'ai l'impression que c'est ce qu'il me faut.  
 
Je génère le fichier XML sur mon serveur IIS. (Faut que je puisse générer le XML à la volée dès que je l'appelle).
Je le récupère avec Php le XML et je le transforme en HTML.
 
Ça serait bien ça !

Reply

Marsh Posté le 23-03-2007 à 18:47:29    

Tu peux faire un phpinfo() pour vérifier si l'extension xsl est chargée.
Visiblement c'est Sablotron qui est utilisé dans EasyPHP. As-tu bien copié ce qu'il faut copier dans le directory win system, notamment sablot.dll?

Reply

Marsh Posté le 23-03-2007 à 18:51:33    

Ouais c'est bon... j'ai tout désinstallé et réinstallé ça marche..
J'arrive à récupérer le fichier XML de mon SITE en dotnet sur mon site en php.
Maintenant j'essaye de formater tout ça avec une feuille de style XSL. Me manque encore deux trois trucs...
 
Mais ça s'en vient.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed