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

VB 6 et antérieur Discussion :

Modifier element XML


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Mai 2005
    Messages : 10
    Par défaut Modifier element XML
    Bonjour a tous.
    Décidément mon apprentissage de Visual Basic se fait dans la douleur (je vient du monde Delphi)

    Mon problème aujourd'hui est que je ne sais pas modifier la valeur d'un élément d'un fichier XML

    Je veux modifier la valeur d'un élément <Tag> du fichier, concrètement je veux faire passer <SGF><Forms><frmPrincipal><Tag> qui vaut 2000 a par exemple 2100

    Comment dois-je faire

    J'ai le code suivant:
    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
     
    Public Sub Test()
     
    Dim xmlDoc As New Msxml2.DOMDocument40
    Dim currNode As IXMLDOMNode
    xmlDoc.async = False
    xmlDoc.resolveExternals = False
    xmlDoc.Load ("sgf2.xml")
    If (xmlDoc.parseError.errorCode <> 0) Then
       Dim myErr
       Set myErr = xmlDoc.parseError
       MsgBox ("You have error " & myErr.reason)
    Else
       xmlDoc.setProperty "SelectionLanguage", "XPath"
       Set currNode = xmlDoc.selectSingleNode("//SGF/Forms/frmPrincipal/Tag")
       MsgBox currNode.Text
     
       ' Ici je pense que doit venir le code pour modifier la valeur de tag
     
         xmlDoc.save ("g:\sgf2_saved.xml")
       Set xmlDoc = Nothing
    End If
     
    End Sub
    Le fichier XML est:
    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
    <?xml version="1.0" encoding="iso-8859-15" standalone="yes"?>
    <SGF>
    	<Forms>
    		<frmPrincipal>
    			<Tag>2000</Tag>
    			<Caption>PRÉNATAL_SGF</Caption>
    			<Components>
    				<menuArchivo>
    					<Caption>&amp;Archivo</Caption>
    				</menuArchivo>
    				<menuArchivoLinea1>
     
    				</menuArchivoLinea1>
    			</Components>	
    		</frmPrincipal>
     
    	</Forms>
    </SGF>
    Quelqu'un peut-il m'aider?

  2. #2
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Salut,

    Au niveau de ton projet, quelle référence utilises-tu pour le parsing des documents XML ?
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  3. #3
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Mai 2005
    Messages : 10
    Par défaut Pb Résolu
    C'était tot simple il fallait simplement écricre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       currNode.Text = "2001"
    Ainsi donc le petit programme est:
    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
    25
     
    Public Sub Test()
     
    Dim xmlDoc As New Msxml2.DOMDocument40
    Dim currNode As IXMLDOMNode
    xmlDoc.async = False
    xmlDoc.resolveExternals = False
    xmlDoc.Load ("g:\sgf2.xml")
    If (xmlDoc.parseError.errorCode <> 0) Then
       Dim myErr
       Set myErr = xmlDoc.parseError
       MsgBox ("You have error " & myErr.reason)
    Else
       xmlDoc.setProperty "SelectionLanguage", "XPath"
       Set currNode = xmlDoc.selectSingleNode("//SGF/Forms/" & Me.Name & "/Tag")
       MsgBox currNode.Text
     
       ' Code de modif du noeud
       currNode.Text = "2001"
     
       xmlDoc.save ("g:\sgf2_saved.xml")
       Set xmlDoc = Nothing
    End If
     
    End Sub
    Merci a T-Shooter de
    Désoléhttp://forumaccess.com/eve/ubb.x/a/t...31/m/736609631

    Désolé de vous avoir embêté avec ça

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

Discussions similaires

  1. [XML]Liste élément XML
    Par SteelBox dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 15/06/2006, 00h11
  2. Réponses: 1
    Dernier message: 20/05/2006, 11h46
  3. [JAVA] Lien expliquant comment créer/ lire / modifier un XML
    Par The_revival dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 07/12/2005, 17h10
  4. [DOM] Suppression d'un element XML
    Par chabada dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 15/06/2005, 10h19
  5. Réponses: 2
    Dernier message: 07/01/2005, 20h40

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