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

Macros et VBA Excel Discussion :

Formatage XML avec espaces et retour chariot


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2020
    Messages : 3
    Par défaut Formatage XML avec espaces et retour chariot
    Bonjour,

    J'essai en VBA d'ajouter <Poi /> sous <Song ..> dans un fichier XML - voir le résultat attendu plus bas

    Fichier database.xml d'origine (avant tout code) :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="UTF-8"?>
    <VirtualDJ_Database Version="8.4">
     <Song FilePath="\Music_Path\Author_1 - Title_1.mp3">
      <Tags Author="Author_1" Title="Title_1" Bpm="2.068965" Flag="1"/>
      <Infos SongLength="191.295000" FirstSeen="1584402618"/>
     </Song>
    </VirtualDJ_Database>

    Cette base doit avoir: 1 espace avant <Song .. et 2 espaces avant les autres <Tags ..>, <Infos..>, <Poi...>.

    Fichier database.xml modifié (après exécution du code) - mauvais résultat, voir le résultat attendu plus bas

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="UTF-8"?><VirtualDJ_Database Version="8.4">
     <Song FilePath="\Music_Path\Author_1 - Title_1.mp3">
      <Tags Author="Author_1" Title="Title_1" Bpm="2.068965" Flag="1"/>
      <Infos SongLength="191.295000" FirstSeen="1584402618"/>
     <Poi/></Song>
    </VirtualDJ_Database>

    Résultat attendu :

    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"?>
    <VirtualDJ_Database Version="8.4">  -------------------CARRIAGE RETURN BEFORE
     <Song FilePath="\Music_Path\Author_1 - Title_1.mp3">
      <Tags Author="Author_1" Title="Title_1" Bpm="2.068965" Flag="1"/>
      <Infos SongLength="191.295000" FirstSeen="1584402618"/>
      <Poi/> -----------(ADDED NODE----------------------- 2 SPACES BEFORE
     </Song> ----------------------------------------------  CARRIAGE RETURN + 1 SPACE BEFORE
    </VirtualDJ_Database>

    Code utilisé :
    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
    Sub ADD_NODE()
     
        Dim oXMLFileMod As MSXML2.DOMDocument60
        Set oXMLFileMod = New MSXML2.DOMDocument60
        oXMLFileMod.preserveWhiteSpace = True
        oXMLFileMod.Load "M:\VirtualDJ\database.xml"
     
        ------ (select a parent node)
    Set ParentNode = oXMLFileMod.SelectSingleNode("/VirtualDJ_Database/Song[1]")
     
        ----- (add a new childNode)
    Set childNode = oXMLFileMod.createElement("Poi")
    ParentNode.appendChild (childNode)
     
    oXMLFileMod.Save "M:\VirtualDJ\database.xml"
     
    End Sub

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Il y a une question ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2020
    Messages : 3
    Par défaut Question
    Oui la question est : pourquoi mon code ne me donne pas le code attendu (section "Expected Result") ?
    A la place je récupère le code illustré dans "Modified Database.xml"

Discussions similaires

  1. SQL*Loader avec fichier sans retour chariot
    Par asirier dans le forum SQL*Loader
    Réponses: 1
    Dernier message: 06/03/2013, 11h05
  2. DATA _NULL_ split avec espace après retour à la ligne
    Par compo76 dans le forum ODS et reporting
    Réponses: 3
    Dernier message: 29/11/2010, 11h36
  3. [RegExp] Gestion des tabulations, espaces et retours chariots
    Par Mengué georges dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/11/2010, 23h20
  4. [DOM] Parser un fichier xml (sans espaces et retours à la ligne)
    Par rizki1 dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 04/05/2010, 10h26
  5. [c#][xml] requete xpath sur document xml avec espace de noms
    Par fab56 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/02/2009, 11h56

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