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 :

xml et xpath


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    491
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 491
    Par d�faut xml et xpath
    Bonjour,

    J'essaie de lire un fichier xml en javascript en utilisant xpath :
    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
    var w = $.ajax({
    			type: "GET",
    			url: url+"?service=WMS&version=1.3.0&request=GetCapabilities",
    			dataType: "xml",
    			success: function(xml) {
    							var txt = '';
    							path = "/WMS_Capabilities/Service/Name";
     
    							if (xml.evaluate) {
    								var nodes = xml.evaluate(path, xml, null, XPathResult.ANY_TYPE, null);
     
    								var result = nodes.iterateNext();
    								console.log(result);
    								while (result) {
    									txt += result.childNodes[0].nodeValue + "<br>";
    									result = nodes.iterateNext();
    								} 
    							}
    							console.log(txt);
    			},
    			error: function(err){alert("Error: Erreur dans la lecture du getCapabilities"); console.log(err)}
    		});
    Mais �a ne me renvoie rien, la variable result est vide.

    Pourtant, dans mon xml, le path existe :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <WMS_Capabilities xmlns="http://www.opengis.net/wms" xmlns:inspire_vs="http://inspire.ec.europa.eu/schemas/inspire_vs/1.0" xmlns:sld="http://www.opengis.net/sld" xmlns:inspire_common="http://inspire.ec.europa.eu/schemas/common/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.3.0" xsi:schemaLocation="http://www.opengis.net/wms http://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xsd  http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/sld_capabilities.xsd http://inspire.ec.europa.eu/schemas/inspire_vs/1.0 http://inspire.ec.europa.eu/schemas/inspire_vs/1.0/inspire_vs.xsd http://inspire.ec.europa.eu/schemas/common/1.0 http://inspire.ec.europa.eu/schemas/common/1.0/common.xsd">
       <Service>
          <Name>WMS</Name>
          <Title>Service de visualisation cartographique (WMS) des observations Météorologique en surface sur la France metropolitaine</Title>
          <Abstract>Le service permet de consulter sous forme cartographique les données d'observations issues des messages en code synoptique international d’observation en surface  (SYNOP) circulant sur le système mondial de télécommunication (SMT) de l’Organisation météorologique mondiale (OMM). Paramètres atmosphériques mesurés (température, humidité, direction et force du vent, pression atmosphérique, hauteur de précipitations) ou observés (temps sensible, description des nuages, visibilité) depuis la surface terrestre.  Selon instrumentation et spécificités locales, d'autres paramètres peuvent être disponibles (hauteur de neige, état du sol, etc.)
     
    Metropole - disponibles depuis les 5 derniers jours - fréquence 3h - Format ASCII</Abstract>
    alors qu'est ce qui cloche?

    Merci,
    Nico

  2. #2
    Mod�rateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par d�faut
    Hello,

    tu as oubli� le namespace : xmlns="http://www.opengis.net/wms" .

    L� ton XPath demande des �l�ments sans namespace. Alors que tes �l�ments sont dans le namespace http://www.opengis.net/wms . Il faut demander des �l�ments dans le namespace http://www.opengis.net/wms .

    Pour �a, premi�re chose, choisir � l'envie un pr�fixe pour ce namespace. Disons wms: . Ce qui change ton expression XPath en:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    /wms:WMS_Capabilities/wms:Service/wms:Name
    Ensuite, il faut indiquer � evaluate() � quel namespace correspond le pr�fixe wms: . Pour cela, d�finir une fonction :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    function wmsResolver(prefix) {
      if(prefix == 'wms') {
        return 'http://www.opengis.net/wms'
      }
    }
    (enfin en r�alit�, puisque tu n'utilises qu'un seul namespace tu as pas besoin de t'emb�ter et tu peux faire : )

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    function() { return 'http://www.opengis.net/wms' }
    Puis tu utilises cette fonction pour que evaluate() connaisse ce namespace :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    xml.evaluate(path, xml, wmsResolver, XPathResult.ANY_TYPE, null)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [Javascript][XML]
    Par kirk80 dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 30/07/2009, 12h08
  2. application web local, html, javascript, xml tourant sur PDA
    Par goupilou dans le forum G�n�ral JavaScript
    R�ponses: 11
    Dernier message: 06/03/2006, 22h40
  3. [XML/XSL/XPATH]Requete XPATH pour transformation
    Par Le-Cortex dans le forum XSL/XSLT/XPATH
    R�ponses: 6
    Dernier message: 04/01/2006, 17h32
  4. [XML] Requ�te Xpath
    Par Raylemon dans le forum Langage
    R�ponses: 1
    Dernier message: 02/07/2005, 15h58

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