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

ASP.NET Discussion :

XML createElement ou Node


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 469
    Par défaut XML createElement ou Node
    Bonjour à tous,

    je souhaiterais créer un document xml avec la syntaxe suivante:
    <monPrefix:monNoeud></monPrefix:monNoeud>


    J'utilise le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monDocumentXML.CreateElement("monPrefix:monNoeud")
    mais j'obtiens le résultat suivant !!! :

    <monNoeud></monNoeud> quand j'utilise le innerXML

    Pourquoi je ne vois monPrefix ?

    Comment faire pour avoir la sortie que je veux ?

    Merci car je suis dérouté ....

  2. #2
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    Je suis pas un pro là-dedans, mais je peux te donner une piste. Il me semble qui'il faut créer un namespace pour pouvoir utiliser le prefix.
    Un truc avec la classe XmlNamespaceManager.
    Je suis désolé j'ai pas de code à te donner mais je penses en cherchant dans cette vois tu trouveras.

    Je peux juste te donner un code que j'ai qui permet de lire dans un XML un noeud contenant un prefix (illisible si pas de gestion du namespace), ça pourra peut-être t'aider :

    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
    XmlNode node = null;
     
    if (!String.IsNullOrEmpty(oDoc.DocumentElement.NamespaceURI))
    {
       XPathNavigator navigatore = oDoc.CreateNavigator();
       XmlNamespaceManager nsmgr = new XmlNamespaceManager(oDoc.NameTable);
       nsmgr.AddNamespace("urn", oDoc.DocumentElement.NamespaceURI);
       XPathExpression express = oDoc.CreateNavigator().Compile(item.XPath);
       // item.Xpath c'est un string contenant une requête XPath
     
       express.SetContext(nsmgr);
     
       XPathNodeIterator iterator = navigatore.Select(express);
     
       if (iterator != null)
       {
          foreach (XPathNavigator nav in iterator)
          {
             nav.InnerXml = item.Value;
             // item.Value contient un string avec la valeur à donner au noeud
          }
       }
    ....
    }

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 469
    Par défaut
    merci je vais regarder tout ça

    A ++

  4. #4
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // Utilisation du NameSpace monPrefixNamespace: 
    string monPrefixNamespace= "http://monPrefixe/blabla"; 
    // Création du XmlDocument 
    XmlDocument xmlStartPart = new XmlDocument(); 
    XmlElement monElement = xmlStartPart.CreateElement("monPrefix:monNoeud", monPrefixNamespace);
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 469
    Par défaut
    oui merci c'est exactement cela

    On peut faire pareil avec le createNode


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

Discussions similaires

  1. xml: copier un node parent selon valeur d'un enfant
    Par morinxav1 dans le forum VBScript
    Réponses: 0
    Dernier message: 30/01/2014, 14h55
  2. [XML] Encoding et node
    Par lenoil dans le forum ASP.NET
    Réponses: 3
    Dernier message: 19/12/2008, 14h56
  3. XML - Créer des Nodes
    Par eagleleader dans le forum VBScript
    Réponses: 1
    Dernier message: 28/05/2008, 11h20
  4. Réponses: 2
    Dernier message: 07/09/2007, 13h01
  5. []générer et LIRE du xml avec vb: sélection d'un node
    Par chris21 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 19/09/2003, 13h14

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