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 :

Modifier le nom d'un enfant XML en fonction des attributs de cet enfant C#


Sujet :

C#

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 25
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Modifier le nom d'un enfant XML en fonction des attributs de cet enfant C#
    Bonjour,
    Voilà mon problème:
    Je fais une copie d'un document XML qui est le suivant:

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE Document>
    <FruitsLegumes description="Description" scenario="Scenario">
      <Node x="120" name="fruit_1" y="100" id="0"/>
      <Node x="10" name="fruit_2" y="100" id="1"/>
      <Node x="200" name="Legume_1" y="100" id="2"/>
      <Node x="20" name="Legume_2" y="100" id="3"/>
    </FruitsLegumes>

    J'aimerais pour chaque noeud "Node" changer son nom en fonction de l'attributs "name". Si c'est un légume, remplacer "Node" par "Légume".
    J'utilise la librairie libxml2 qui propose une fonction xmlNodeSetName qui permet de changer le nom d'un noeud.
    Malheureusement, je n'arrive pas à écrire la condition pour laquelle je dois changer le nom. De plus, il peut y avoir plus ou moins de noeuds légumes et les variables "x" et "y" changent pour chaque légume.

    Je viens donc vers vous pour m'aider à écrire cette ligne de code qui me bloque depuis un moment.

    Merci par avance pour votre réponse!

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 752
    Points : 5 458
    Points
    5 458
    Par défaut
    Je suppose que dans la réalité, l'attribut "name" ne contient pas "Legume_n" mais le nom d'un légume.
    Je te suggère de gérer une liste de légumes et de faire un IndexOf dessus avec le contenu de l'attribut.
    Si 0 ou supérieur, c'est un légume, sinon c'est un fruit.

    Et plutôt que de changer le nom, il serait moins compliqué et moins dangereux de générer un autre XML à la volée.

Discussions similaires

  1. [SAX] Parsing XML et récupération des attributs en fichier texte
    Par flora806 dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 30/06/2009, 16h13
  2. Modifier le nom d'un noeud (XML)
    Par saymon dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 17/04/2009, 15h47
  3. Modifier le "nom machine" (hostname)
    Par hawax dans le forum Réseau
    Réponses: 6
    Dernier message: 06/03/2009, 10h50
  4. [XML Schema] Assigner des attributs avec contrainte
    Par Rémaill dans le forum Valider
    Réponses: 2
    Dernier message: 31/07/2008, 10h34
  5. [XSD] Validation d'un XML en fonction d'attributs
    Par Oliveuh dans le forum Valider
    Réponses: 2
    Dernier message: 04/06/2007, 12h25

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