IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[JS/XML/Ajax?] Lecture d'un fichier XML


Sujet :

JavaScript

  1. #1
    Hao
    Hao est d�connect�
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 11
    Par d�faut [JS/XML/Ajax?] Lecture d'un fichier XML
    Bonjour,

    je viens � vous apr�s de longues heures de lutte acharn�e face � JS que je d�couvre � peine (ci-apr�s nomm� Miguel), XML/XSL (de m�me, et ci-apr�s nomm� Pedro) et la "new technology" Ajax (tout pareil que Miguel et Pedro).

    Je vous explique mon probl�me : j'ai mon fichier afficherTableau.xsl dans lequel j'ai un tableau que je g�n�re via un XML (donc, en XSL). Jusque l� �a va. En cliquant sur une des lignes du tableau, je veux acc�der � un attribut de l'�l�ment cliqu�. J'affiche cela dans ma lightbox, une div cach�e dans ma page (qui marche, elle).

    Bon, mon premier probl�me, c'est comment sauvegarder l'id de ma ligne (cet id est en fait la position [fonction position() de XSL] du noeud affich� dans ma ligne) sur laquel je clique afin de la donner � ma fonction qui affichera les d�tails de cette ligne ? Apr�s quelques manipulations, je n'arrive � rien de probant.

    Mais surtout, je tente sans r�sultat de r�cup�rer ces informations � afficher (des attributs de mes �l�ments dans le tableau) en utilisant Ajax (enfin, on va plut�t dire que j'utilise XMLHttpRequest). Je viens d'�tre jet� dans le monde de la programation ou�b et beaucouop de chose m'�chappent.

    [edit]
    Pour donner un petit exemple pour �tre plus clair, disons que ceci est mon fichier XML :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <A>
        <a1>
            <a11 attribut1="a" attribut2="b" />
        </a1>
        <a2>
            <a21 attribut1="a123" attribut2="b123" />
            <a22 attribut1="a213" attribut2="b213" />
            <a23 attribut1="a321" attribut2="b321" />
        </a2>
        [...]
    J'affiche dans mon tableau tous les attributs "attribut1" des �l�ments "a2x" et je veux, en cliquant sur une des lignes de mon tableau, acc�der � l'attribut "attribut2" de l'�l�ment cliqu� afin de l'afficher.

    Pour cela, je veux sauvegarder l'id de ma ligne (cad la position du noeud), appeler le fichier XML, lire le noeud n�id et afficher l'attribut qui m'int�resse.
    [/edit]

    Voici mon code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    function getMessage(id)
    {
    	var req = null;
     
    	if (window.XMLHttpRequest)
    	{
    		req = new XMLHttpRequest();
    		if (req.overrideMimeType)
    		{
    			req.overrideMimeType('text/xml');
    		}
    	}
    	else if (window.ActiveXObject)
    	{
    		try {
    			req = new ActiveXObject("Msxml2.XMLHTTP");
    		} catch (e)
    		{
    			try {
    				req = new ActiveXObject("Microsoft.XMLHTTP");
    			} catch (e) {}
    		}
    	}
     
    	req.onreadystatechange = function()
    	{
    		if(req.readyState == 4)
    		{
    			if(req.status == 200)
    			{
    				// process a XML document here
    				var doc = req.responseXML;
    				var element = doc.getElementsByTagName("chemin-en-xpath?").item(0);
    				document.getElementById("meuh").innerHTML = element.firstChild.data;
    				//document.getElementById("meuh").innerHTML = element;
     
    			}
    			else
    			{
    				document.getElementById("meuh").innerHTML = "Error: returned status code " + req.status + " : " + req.statusText;
    			}
    		} else {
    			document.getElementById("meuh").innerHTML = "Error perso" ;
    		}
    	};
    	req.open("GET", "test.xml", true);
    	req.send(null);
    }
    J'ai r�cup�r� la base de ce code sur un tuto tr�s bien fait Malheureusement, chez moi, le seul affichage que j'obtiens est :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Error: returned status code 0 :
    Je pense que mes probl�mes viennent de ces 2 lignes :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var element = doc.getElementsByTagName("chemin-en-xpath?").item(0);
    Auquel cas, je n'ai pas compris le principe du parcours du fichier gr�ce � getElementByTagName. Peut-�tre est-ce impossible de lire un XML avec �a ?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    req.open("GET", "test.xml", true);
    L�, je me dis qu'au lieu de mettre l'url (relative) de mon fichier, c'est plut�t celle du serveur qu'il faut mettre ? Si oui, quoi utiliser ? et comment tester en local ?

    Je vous avous que je n'arrive plus � comprendre quoi que ce soit :-/
    Je vous demande donc votre aide.

    Merci d'avance.

  2. #2
    Hao
    Hao est d�connect�
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 11
    Par d�faut
    Personne n'a une petite id�e qui pourrait me d�bloquer ?

Discussions similaires

  1. R�ponses: 1
    Dernier message: 28/02/2012, 18h30
  2. [DOM] Reconstruire un fichier XML � partir d'un autre fichier XML
    Par Jonvols dans le forum Format d'�change (XML, JSON...)
    R�ponses: 12
    Dernier message: 13/11/2010, 01h49
  3. R�ponses: 5
    Dernier message: 23/03/2009, 16h36
  4. [XSLT] generer un fichier xml optmise d'un autre fichier xml
    Par maguie dans le forum XSL/XSLT/XPATH
    R�ponses: 22
    Dernier message: 08/04/2008, 15h45
  5. [C#] [XML] Lecture d'un fichier XML => Combobox
    Par Chad`Chiwa dans le forum Windows Forms
    R�ponses: 8
    Dernier message: 09/03/2005, 08h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo