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

C# Discussion :

XML probleme position


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2004
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 52
    Par défaut XML probleme position
    Bonjour a tous j'utilise un webservice et je gere des fichiers XML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <setting>
      <Profile id="2">
        <Split ID="Bottom" Height="174" Width="800" />
        <Split ID="Left" Height="97" Width="392" />
        <Split ID="Right" Height="410" Width="392" />
      </Profile>
    </setting>
    Je cherche à inserer un profile de la facon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <setting>
      <Profile id="2">
        <Split ID="Bottom" Height="174" Width="800" />
        <Split ID="Left" Height="97" Width="392" />
        <Split ID="Right" Height="410" Width="392" />
      </Profile>
      <Profile id="3">
        <Split ID="Bottom" Height="174" Width="800" />
        <Split ID="Left" Height="97" Width="392" />
        <Split ID="Right" Height="410" Width="392" />
      </Profile>
    </setting>
    Voila 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
     
        [WebMethod]
        public bool Insert(string id, string text)
        {
            if (IsFileExist(path))
            {
                XmlNode currNode;
                XmlDocument doc = new XmlDocument();
                doc.Load(path);
                XmlDocumentFragment docFrag = doc.CreateDocumentFragment();
                docFrag.InnerXml = "<Profile id=\"" + id + "\"><Split ID=\"Bottom\" Height=\"" + text + "\" Width=\"" + text + "\"/><Split ID=\"Left\" Height=\"" + text + "\" Width=\"" + text + "\"/><Split ID=\"Right\" Height=\"" + text + "\" Width=\"" + text + "\"/></Profile>";
                currNode = doc.DocumentElement.FirstChild;
                currNode.InsertAfter(docFrag, currNode.LastChild);
                doc.Save(path);
                return true;
            }
            return false;
        }
    Je sais que c'est un probleme de positionnement avec currNode
    car j'obtient ceci pour l'instant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <setting>
      <Profile id="2">
        <Split ID="Bottom" Height="174" Width="800" />
        <Split ID="Left" Height="97" Width="392" />
        <Split ID="Right" Height="410" Width="392" />
        <Profile id="3">
          <Split ID="Bottom" Height="174" Width="800" />
          <Split ID="Left" Height="97" Width="392" />
          <Split ID="Right" Height="410" Width="392" />
        </Profile>
      </Profile>
    </setting>
    Merci de votre aide

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                currNode = doc.DocumentElement.FirstChild;
                currNode.InsertAfter(docFrag, currNode.LastChild);
    pose problème:

    là tu lui dit de prendre dans curNode le premier Profil, puis tu lui dit d'inserer dans le profil, après le dernier élément du profil, ton nouveau profil...
    Ce qui est assez logique avec ce qu'il te sort d'ailleurs, tu en conviendra...

    il vaudrait mieux ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                currNode = doc.DocumentElement;
                currNode.InsertAfter(docFrag, currNode.LastChild);
    là il prend le premier noeud de l'arbre, qui est Settings, et tu lui d'inserer après le dernier noeud de Setting, ton nouveau noeud... ce qui, oh miracle correspond à ce que tu cherche

    Bon dev.

Discussions similaires

  1. Script pour extraire la meteo depuis un serveur XML.Probleme
    Par Zarma67 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/02/2006, 11h13
  2. [XML] Probleme de caracteres spéciaux
    Par Azonec dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 13/12/2005, 15h48
  3. [vb.net][xml] probleme de lecture de fichier
    Par graphicsxp dans le forum Windows Forms
    Réponses: 4
    Dernier message: 27/07/2005, 11h51
  4. [xml]probleme de lecture
    Par mavina dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 22/07/2005, 08h34
  5. Transformation xhtml -> xml (probleme xmlns)
    Par yos dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 08/06/2005, 18h12

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