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

VBScript Discussion :

[XML] Commentaires supprimés par indentation


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 64
    Par défaut [XML] Commentaires supprimés par indentation
    Bonjour,

    En créant un fichier XML par programme (vbscript), j'insère des commentaires.

    Si je sauvegarde via un "save", ça marche en ce sens que les commentaires se trouve bien dans le fichier.

    Par contre, si je passe le tout dans la "moulinette" pour avoir une indentation, les commentaires passent à la trappe.

    Et je n'arrive pas à les garder, sauf à faire un programme pour les insérer.

    Quelqu'un pourrait-il me donner soit un "truc", soit le "bon codage" pour que je puisse avoir Et avoir l'indentation ET garder les commentaires.
    Merci pour votre peine.

    Cordialement.
    Gilles Cartairade

    Le 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    Set ObjAlert = Createobject("Microsoft.XMLDOM")
    ObjAlert.Async = "false"
    Set Buffer = ObjAlert.CreateProcessingInstruction("xml", "version='1.0' encoding='ISO-8859-1'")
    ObjAlert.appendChild (Buffer)
    '---------- insertion commentaire
    Set Buffer = ObjAlert.CreateComment(" Le 1er composant en erreur est une erreur bidon pour pallier à un bug du pluging Qlikview sur Internet ")
    ObjAlert.AppendChild (Buffer)
    Set Buffer = ObjAlert.CreateComment(" Cette ligne est créée par programme lors de la création du fichier * Ne pas oublier de MAJ le pgm en cas de résolution du bug ")
    ObjAlert.AppendChild (Buffer)
    '---------- Root
    Set Racine1 = ObjAlert.CreateElement("Alertes")
    Racine1.SetAttribute "Crée_le", FormatDateTime(Date, VbGeneralDate)
    Racine1.SetAttribute "MAJ_le", WeekDayName(WeekDay(Date), False) & " " & FormatDateTime(Now(), VbGeneralDate)
    Racine1.Setattribute "NoVersion", No_Version_xml_Alert
    ObjAlert.AppendChild(Racine1)
    '---------- Parent
    Set Niv1 = ObjAlert.CreateElement("Composants")
    Niv1.SetAttribute "Nom", "Ne pas supprimer cette ligne"
    Niv1.SetAttribute "TypObj", "Virtuel"
    Niv1.SetAttribute "LED", "Bleu"
    Niv1.SetAttribute "Status", ""
    Niv1.SetAttribute "Date_Off", ""
    Niv1.SetAttribute "TypErr", "Problème lié au plug-ing QlikView sur Internet"
    Racine1.AppendChild(Niv1)
    '---------- Svg brut de fonderie
            ObjAlert.Save "Brut_Essai.xml"
    '---------- Svg avec indentation
    Set Rdr = CreateObject("MSXML2.SAXXMLReader")
    set wrt = CreateObject("MSXML2.MXXMLWriter")
    Set oStream = CreateObject("ADODB.STREAM")
    oStream.Open
    oStream.Charset = "ISO-8859-1"
    ' oStream.Charset = "utf-8"
     wrt.indent = True
     wrt.encoding = "ISO-8859-1"
    ' wrt.encoding = "utf-8"
    wrt.output = oStream
    Set rdr.contentHandler = wrt
    Set rdr.errorHandler = wrt
    Rdr.Parse ObjAlert
    wrt.flush
    OStream.SaveToFile "Net_Essai.xml", 2
    '----------
    Wscript.Quit

  2. #2
    Invité de passage
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 1
    Par défaut
    Bonjour,
    C'est très tard pour une réponse mais si ça peut servir à d'autres.

    La suppression des commentaires est du à l'oubli de 2 lignes.
    Avant de "parser" ton document XML, il faut rajouter deux propriétés à ton objet SAX.


    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
    '---------- Svg avec indentation
    Set Rdr = CreateObject("MSXML2.SAXXMLReader")
    set wrt = CreateObject("MSXML2.MXXMLWriter")
    Set oStream = CreateObject("ADODB.STREAM") : oStream.Open
    oStream.Charset = "ISO-8859-1"  ' oStream.Charset = "utf-8"
    wrt.indent = True
    wrt.encoding = "ISO-8859-1" ' wrt.encoding = "utf-8"
    wrt.output = oStream
    Set rdr.contentHandler = wrt
    Set rdr.errorHandler = wrt
     
    '------- LIGNES MANQUANTES ----------
    rdr.putProperty "http://xml.org/sax/properties/declaration-handler", wrt
    rdr.putProperty "http://xml.org/sax/properties/lexical-handler", wrt
     
     
    Rdr.Parse ObjAlert
    wrt.flush
    OStream.SaveToFile "Net_Essai.xml", 2

    Normalement (de mon coté c'est ok), les commentaires sont conservés.

Discussions similaires

  1. Supprimer l'indentation des paragraphes
    Par fargoth dans le forum Mise en forme
    Réponses: 2
    Dernier message: 12/12/2006, 22h37
  2. Réponses: 5
    Dernier message: 06/11/2006, 14h50
  3. combobox XML et valeur par défaut
    Par nicocotiers dans le forum Flash
    Réponses: 3
    Dernier message: 03/10/2006, 16h37
  4. [ XML ][ XSL ] tri par date
    Par zozolh2 dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/08/2004, 10h19
  5. [FOP] Transformation XML to PDF par FOP
    Par JustAGphy dans le forum Format d'échange (XML, JSON...)
    Réponses: 13
    Dernier message: 12/05/2004, 15h19

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