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

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 62

    Informations forums :
    Inscription : Mai 2005
    Messages : 10
    Points : 12
    Points
    12
    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é
    Expert confirmé
    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
    Points : 4 238
    Points
    4 238
    Par défaut
    Salut,

    Au niveau de ton projet, quelle référence utilises-tu pour le parsing des documents XML ?

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 62

    Informations forums :
    Inscription : Mai 2005
    Messages : 10
    Points : 12
    Points
    12
    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