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

Développement SQL Server Discussion :

variable XML commençant par xml [2012]


Sujet :

Développement SQL Server

  1. #1
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut variable XML commençant par xml
    Bonjour,

    j'ai repris un exemple donné par MIKEDAVEN pour extraire des données d'un champ xml; voici le xml:
    <ShowPlanXML xmlns="http://schemas.microsoft.com/sqlserver/2004/07/showplan" Version="1.2" Build="11.0.3000.0"></ShowPlanXML>
    le pb vient du nom de la variable xmlns; si on fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    DECLARE @t TABLE
    (
     texteXML XML NOT NULL
    ); 
     
    INSERT INTO @t VALUES('<ShowPlanXML xmlns="http://schemas.microsoft.com/sqlserver/2004/07/showplan" Build="11.0.3000.0" />');
    SELECT texteXML.query('data(/ShowPlanXML/@xmlns)') AS [xmlns]
    FROM @t;
    le select ne retourne rien; par contre si on enleve le "x" de xmlns, çà fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    DECLARE @t TABLE
    (
     texteXML XML NOT NULL
    ); 
     
    INSERT INTO @t VALUES('<ShowPlanXML mlns="http://schemas.microsoft.com/sqlserver/2004/07/showplan" Build="11.0.3000.0" />');
    SELECT texteXML.query('data(/ShowPlanXML/@mlns)') AS [xmlns]
    FROM @t;

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    xmlns permet de spécifier l'espace de nom, le parser xml ne le traite donc pas comme un attribut normal.

    d’ailleurs, d'après le W3C :
    XML Naming Rules

    XML elements must follow these naming rules:

    Names can contain letters, numbers, and other characters
    Names cannot start with a number or punctuation character
    Names cannot start with the letters xml (or XML, or Xml, etc)
    Names cannot contain spaces

    Any name can be used, no words are reserved.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Récupérer dans une variable le code xml renvoyer par une vue
    Par david42 dans le forum Symfony
    Réponses: 9
    Dernier message: 17/02/2012, 22h59
  2. Réponses: 9
    Dernier message: 21/07/2009, 18h45
  3. Réponses: 4
    Dernier message: 27/06/2008, 10h42
  4. [XML] comment récupérer un arbre xml posté par http ?
    Par tomperso dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 02/07/2004, 11h29
  5. pb formatage document XML généré par un dom tree
    Par lionel69 dans le forum APIs
    Réponses: 11
    Dernier message: 17/10/2002, 10h53

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