Présenter xml dans html

Signaler
Messages postés
140
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
20 août 2012
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour,
Voila une question qui vous parraitra bien simple : comment afficher du xml correctement dans un navigateur web sans passer par du php.
Je voudrais transformer le code ci-dessous en code html avec des <table><tr><td>
J'aimerai pouvoir le faire en javascript pour pouvoir l'utiliser en local.

Suis à l'écoute de toutes les idées ou sources pouvant me permettre d'avancer !!

Au plaisir de vous lire !!

H

<DMResponse>
1
<Description>Your request was successfully received and processed.</Description><ResultData><Explanation> Here is the response to your request </Explanation>
<GetListNamesRs>
   <ListName>Amin_Approval</ListName>
   <ListName>cfw_P_A</ListName>
   <ListName>hugues_01_standard</ListName>
   <ListName>Wyn_DMC_test1</ListName>
</GetListNamesRs>
</ResultData></DMResponse>

le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus

9 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,

>>...afficher du xml dans un navigateur web sans passer par du php...
    xml + xsl ==> html.
    php et/ou javascript peuvent traiter, mais ne sont pas nécessaires.
   
    tu devrais trouver des exemples dans les sources de ce forums.
    ( en voici 2 : un   deux   )

    on trouve pas mal de docs à ce sujte ( il faudait googeliser )



<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
<hr />
Messages postés
140
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
20 août 2012

Bonjour Bultez !
Merci à toi de te pencher -une fois de plus- sur ma demande !
Malheureusement j'ai dû mal m'exprimer : je voudrais un petit script (et donc pas des logiciels) côté client (en tout cas pas du côté serveur) pour présenter du xml (voir ma source) dans une page html.
Ta deuxième proposition avec les différents script se rapproche dc de la solution que j'imaginais... par contre le quel utiliser je ne sais !!
Pour ce qui est du xsl je ne connais pas.je vais me renseigner...
Si tu as des pistes ou des conseils n'hésite pas ;-))
D'avance merci pour ton aide.. et ta patience !
H

le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
je t'ai donné l'adresse de 2 exemples d'utilisation de XML/XSL en javascript,
    si tu omet la partie "tri" et "exploitation" des données
        ( sans doute inutile dans tons cas ? ), tu devrais avoir
        ce qu'il te faut.
il doit y avoir d'autres exemples sur CodesSources, et les docs
    sur le sujet XML/XSL on trouve ( "facilement" et en français :
    j'ai trouvé ! ), ne serait-ce qu'en googlisant un peu.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
<hr />
Messages postés
140
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
20 août 2012

Hello,
Merci pour les tuyeaux qui m'ont permis de trouver comment présenter correctement mon contenu (http://www.ccim.be/ccim328/xml/xml_xsl.html)...
Deux méthodes y sont décrites :
a - css : utilisation des balises xml pour un affichage propre en css
b - interprétation du xml et transformation en html
Les deux méthodes sont parfaites pour moi.. malheureusement dans les deux cas il faut que j'insère qqs lignes de code si je veux que mon code soit proprement affiché
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="css.css" type="text/css"?>

en effet le flux qui m'est envoyé est du type ci dessous

<DMResponse>
1
<Description>Your request was successfully received and processed.</Description><ResultData><Explanation> Here is the response to your request </Explanation>
<GetListNamesRs>
   <ListName>Amin_Approval</ListName>
   <ListName>cfw_P_A</ListName>
   <ListName>steffen_list</ListName>
   <ListName>Wyn_DMC_test1</ListName>
</GetListNamesRs>
</ResultData></DMResponse>

Perso je ne sais pas comment faire pour faire cette insertion de ligne avant l'affichage... pourrais-tu m'aider ?
Un peu plus d'explication est peut-être nécessaire en ce qui concerne l'obtention de ce flux : ce flux m'arrive suite un submit de formulaire. si je ne suis pas clair dans mes explications n'hésite pas à me le dire !!

D'avance merci pour ton aide !!

H
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
ch'tit exemple en javascript, sans même xsl...

    test.xml :
<DMResponse>
   
1

    <Description>Your request was successfully received and processed.</Description>
    <ResultData>
        <Explanation> Here is the response to your request </Explanation>
        <GetListNamesRs>
            <ListName>Amin_Approval</ListName>
            <ListName>cfw_P_A</ListName>
            <ListName>steffen_list</ListName>
            <ListName>Wyn_DMC_test1</ListName>
        </GetListNamesRs>
    </ResultData>
</DMResponse>

    test.htm :
<html>

<script type="text/javascript">
    var xml=new ActiveXObject("Microsoft.XMLDOM");   
    xml.async=false;
    xml.load("test.xml");
    for ( var n=0;n<xml.getElementsByTagName("ListName").length;n++ )
    {    alert( xml.getElementsByTagName("ListName")[n].firstChild.nodeValue )     }
</script>

</html>


je te montre uniquement la version IE, et brut de fonderie !






<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
<hr />
Messages postés
140
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
20 août 2012

Siouper !! cela fonctionne impec... je me suis fait une bidouille du type
    var param = window.location.search.replace('?Servername',"Servername");
pour nettoyer les paramètres envoyés, puis une fonction pour générer un affichage avec des

Ce mode d'affichage fonctionne maintenant bien pour ce fichier qui est simplissime.. mais comment faire pour afficher des fichier xml plus complexes du type

   <GetListNamesRs>
            <ListName>Amin_Approval</ListName>
                <nom>nom1</nom>
                <nom>nom2</nom>
                      001
                      002
                      003
                <nom>nom3</nom>
                <nom>nom4</nom>
            <ListName>cfw_P_A</ListName>
            <ListName>steffen_list</ListName>
            <ListName>Wyn_DMC_test1</ListName>
        </GetListNamesRs>

c'est à dire avec des noeuds intermédiaires : y a t-il une bidouille pour dénouer les liens de manière dynamique (cad sans avoir à déclarer à la main les différents noeuds) ??

J'imagine que ma question a déjà été planchée... si tu as des pistes à me proposer.. as usual, je ne les bouderai pas ;-)

H, qui te remercie d'avance  !!

le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
je suppose que tu voulais dire :

<GetListNamesRs>


            <ListName>
                Amin_Approval



                <nom>nom1</nom>
                <nom>nom2</nom>
                      mon Site]     [M'écrire]<hr />
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
oulah... trop vite...

<GetListNamesRs>


            <ListName>
                Amin_Approval 

                <nom>
                     nom1
               </nom>
                <nom>
                      nom2
                      mon Site
]     [
M'écrire
]
<hr />
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
je savais bien...

...
<ListName>   
       cfw_P_A
</ListName>
<ListName>
         steffen_list
</ListName>
<ListName>
          Wyn_DMC_test1
</ListName>
...

mais tu as compris la structure...

<hr />
                Cordialement            Bul         [mon Site]     [M'écrire]
<hr />