[asp.net 1.1] Fichier XML dans un tableau

SupaLou Messages postés 74 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 19 septembre 2006 - 18 juil. 2006 à 16:25
SupaLou Messages postés 74 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 19 septembre 2006 - 24 juil. 2006 à 08:46
Bonjour tout le monde,


j'ai cherché sur ce forum comment faire pour lire un fichier xml et mettre des données qu'il contient dans un tableau sur une page web en asp mais je n'arrive pas à mettre en pratique. Il doit, je pense, me manquer certaines notions...


Voici donc ce que j'ai fait:

 <form id="Form1" method="post" runat="server">
  
     ----

     ,
     ,
   
  

 </form>




Je déclare mon fichier xml qui se trouve au même endroit que mes sources


(C:\Inetpub\wwwroot\Surveillance\Serveurs.xml), ensuite j'essaye de liéer ce fichier à un tableau grâce à l'option


datasrc afin de récupérer dans les cellules de celui ci la valeur du noeud "nomServeur" et celle du noeud "ipServeur".


Voici une partie de mon fichier xml:

<?xml version="1.0" encoding="utf-8" ?>



 <region idRegion = "00">
  <nomRegion>Saint Apollinaire</nomRegion>
  
  <serveur>
   01
   <type>consolidation</type>
   <nomServeur>gmao_00_01</nomServeur>
   192.168.1.0
   <repertoireSauvegarde>E:\SauvegardeBD\</repertoireSauvegarde> 
  </serveur>
  
 </region>




Quand je compile mon application j'obtient juste une cellule pour mon tableau mais celle ci est totalement vide!!
Je n'arrive pas à comprendre d'ou vient mon erreur et j'attend donc avec impatience vos idées.


En vous remerciant

10 réponses

bernie666 Messages postés 427 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 29 janvier 2008 1
18 juil. 2006 à 16:47
    Salut
Je n'ai pas regarder en détails ton code que tu viens de poser mais si c'est juste pour de l'affichage d'un xml dans un tableau, une bonne solution est d'utiliser XSLT
0
bernie666 Messages postés 427 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 29 janvier 2008 1
18 juil. 2006 à 16:48
    http://www.zvon.org/ <= un petit lien util au passage
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
18 juil. 2006 à 20:59
Bonsoir, tu peux aussi charger un dataset à partir de ton XML

Dataset ds = Dataset.Load(server.mappath("~/file/monfichier.xml")); / ou quelque chose qui y ressemble

gridview.datasource = ds;
gridview.databind();

Mais es tu sur que le chemin du fichier est bon ?

<hr />Cyril - MVS - MCP
0
SupaLou Messages postés 74 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 19 septembre 2006
19 juil. 2006 à 08:41
Salut Bernie666 et jesusonline,

je vous remerci d'avoir pris soin de me répondre :)
Je vais me documenter sur le XLT car je ne sais pas encore ce que c'est. Sinon je suis effectivement sûr du chemin de mon fichier xml car c'est du copier coller en fait .

Mais sinon personne ne voit pourquoi ma solution ne fonctionne pas??

En tout cas je vous tiendrai au courant si je trouve ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SupaLou Messages postés 74 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 19 septembre 2006
19 juil. 2006 à 09:11
Pour répondre à jesusOnline j'ai essayé la solution du dataset, c'est à dire:

DataSet ds =

new DataSet();ds.ReadXml("C:\\Inetpub\\wwwroot\\Surveillance\\Serveurs.xml");

DataGrid1.DataSource=ds;

DataGrid1.DataBind();

Merci sans succès...
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
19 juil. 2006 à 09:39
ton XML est valide ??? et contient bien des donnnées car ca devrait marcher !

<hr />Cyril - MVS - MCP
0
SupaLou Messages postés 74 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 19 septembre 2006
19 juil. 2006 à 11:04
oui mon xml est valide car j'ai essayé la solution de Bernie666 avec XSLT
(ftp://ftp-developpez.com/xml/XML-office_2003.pdf?bcsi_scan_8EFDAE827606EDE9=0&bcsi_scan_filename=XML-office_2003.pdf)

ce qui me donne comme fichier xml:
<?

xmlversion="1.0"encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="Serveurs.xsl"?>

<park>
   <region>
      <idRegion>00
</idRegion>
      <nomRegion>Saint Apollinaire
</nomRegion>
      <ligne>0
</ligne>
      <serveur>
         <idServeur>01
</idServeur>
         <type>consolidation
</type>
         <nomServeur>gmao_00_01
</nomServeur>
         <ipServeur>10.64.240.250
</ipServeur>
         <repertoireSauvegarde>E:\SauvegardeBD\
</repertoireSauvegarde> 
   
</serveur>
</region>

et comme fichier XSL:

<?

xmlversion="1.0"encoding="utf-8"?>

<xsl:stylesheetxmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:templatematch="/">
<html>
<body>
   <tableborder="0"width="985"height="288">
      <tr>
         <xsl:for-eachselect="park/region">
         <xsl:ifmatch=".[ligne='0']">
         <tdheight="225"width="190"align="center"><fontcolor="#0066CC"><xsl:value-ofselect="nomRegion"/></font><p><imgborder="0"src="Images/Serveur.bmp"width="108"height="138"></img></p><imgborder="0"src="Images/Feu%20Rouge.bmp"width="22"height="21"></img></td>
         </xsl:if>
         </xsl:for-each>
   </table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

Je poste cette solution car je pense que c'etait bien la réponse à ma question mais en faite je m'aperçois que j'ai très mal posé mon problème donc je vais recommencer:

J'ai un fichier xml qui contient entre autre les noms, ip et région de mes serveurs et je dois créer sur ma page web une sorte de récapitulatif pour chaque serveurs (si il est disponible grâce à une requête ping...).Donc en fonction de mes traitements, si ils ont reussi ou echoué je veux mettre une image sous le serveur correspondant (lumière verte si tout est okey, rouge si erreur etc. Voir image pr exemple) . Le problème est que je vois pas trop comment m'y prendre pour récuper le nom de la région d'une des cellules du tableau pour ensuite récupérer l'ip du serveur et exécuter mes traitement grâce à cette ip puis ensuite afficher ma lumière dans la cellule correspondante.
Bon je sais pas si quelqu'un m'aura suivi dans mon délire c'est pour cela que je poste une image qui sera surement beaucoup plus parlante...

Je suis bien entendu ouverte a toute proposition

Merci
0
SupaLou Messages postés 74 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 19 septembre 2006
19 juil. 2006 à 11:16
je suis désolé j'arrive pas a joindre mon image...
en gros ca ressemble à ca:

--------------------------------------------------------------------
|      Nom Région                     |                     Nom Région              |
|                                              |                                                       |
|   photo d'un serveur               |                  photo d'un serveur         |
|                                              |                                                       |
|   image d'une lumière              |              image d'une lumière           |
| (verte,  orange ou rouge)        |              (verte,  orange ou rouge)   |
---------------------------------------------------------------------

Les traits representent les cellules de mon tableaux
(nan nan je ne suis pas fou ;-P)
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
21 juil. 2006 à 14:56
2 solutions :

tu passes par un dataset et tu as accés à une datatable tout ce qu'il y a de plus classique ou alors tu utilises cette astuce : http://www.aspfr.com/codes/EXECUTER-SCRIPT-VB-NET-LORS-TRANSFORMATION-XSLT_34008.aspx

<hr />Cyril - MVS - MCP
0
SupaLou Messages postés 74 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 19 septembre 2006
24 juil. 2006 à 08:46
Huhum ca n'a pas l'air mal je vais tester ca :)
Comme ca je me familiariserai un peu plus avec le dataset car je ne sais pas trop l'utiliser encore.
Merci a toi jesusonline, pour toutes ses infos

++
0
Rejoignez-nous