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

Langage Delphi Discussion :

XMLDocument et namespace


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 115
    Points : 60
    Points
    60
    Par défaut XMLDocument et namespace
    Bonjour

    Je dois faire un fichier XML comportant pour l'élement racine un namespace
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?xml version="1.0" encoding="UTF-8"?>
    <Name xmlns="http://monServeur.com/">
      <Document>
        <name>Samples</name>
      </Document>
    <Name>
    J'ai essayé avec l'ajout d'attribut mais ceci n'est pas faisable sur l'élément racine

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      root := XMLDoc.addchild('Name');
      root.Attributes['xmlns'] := '"http://monServeur.com/"';
      XMLDoc.DocumentElement.ChildNodes.Add(root);
    Mais il y a l'erreur
    "Inserting a Nodes or its ancestor under itself is not allowed"

    Je ne trouve pas de fonction AddNameSpace

    Merci de votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 815
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 815
    Points : 13 531
    Points
    13 531
    Par défaut
    Ce qui est assez logique .

    Lorsque tu exécutes la première ligne,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    root := XMLDoc.addchild('Name');
    le premier noeud de XMLDoc devient (obligatoirement) le DocumentElement.
    Ce qui veut dire que:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XMLDoc.DocumentElement.ChildNodes.Add(root);
    correspond à:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    root.ChildNodes.Add(root);
    Il te suffit donc simplement de supprimer la dernière ligne .

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 115
    Points : 60
    Points
    60
    Par défaut
    Bonjour merci pour l'explication

    Effectivement ceci ne me provoque plus d'erreur a l'execution
    Mais l'espace de nom nést valide que pour l'element et MXML retabli automatiquement l'espace vide xmlns="" sur l'élément suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?xml version="1.0" encoding="UTF-8"?>
    <Name xmlns="http://monServeur.com/">
      <Document xmlns="">
        <test>Samples</test>
      </Document>
    <Name>
    J'ai changé de technique en utilisant CreateNode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      XMLDoc.DocumentElement := XMLDoc.CreateNode('Name',ntElement,'http://monServeur.com/');
      doc:= XMLDoc.CreateNode('Document','http://monServeur.com/');
      doc.AddChild('test').text := 'Samples';
      XMLDoc.DocumentElement.ChildNodes.Add(doc);
    L'espace de nom doit être copié à chaque fois
    Il a peut être une méthode plus élégante ?

    Merci

Discussions similaires

  1. Namespace et XmlDocument
    Par bob633 dans le forum C#
    Réponses: 2
    Dernier message: 05/05/2015, 14h09
  2. [VB.NET] XmlDocument et Namespace
    Par dharkan dans le forum Débuter
    Réponses: 1
    Dernier message: 23/03/2015, 12h30
  3. [XML] xmlreader namespace XMLDocument
    Par Oxy42 dans le forum Framework .NET
    Réponses: 1
    Dernier message: 07/12/2006, 17h45
  4. [Debutant][Divers] - namespace et attributs
    Par sebbb dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 10/06/2003, 14h40
  5. Erreur récurrente (namespace)
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 3
    Dernier message: 25/02/2003, 10h27

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