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

XML/XSL et SOAP Discussion :

forme de la fichier XML


Sujet :

XML/XSL et SOAP

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 179
    Points : 65
    Points
    65
    Par défaut forme de la fichier XML
    Hello les amis
    je utilise pour cree une Fichier XML l´outil:
    -DOMDocument40
    MSXML2.IXMLDOMElement
    j´ai obtenue une Fichier, mais tout le fichiee est sur un ligne seulement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <noeudRacine><Balise1 At1="Attribut1">la Texte 1</Balise1><Balise1 At2="Attribut2">Le texte 2</Balise1><Balise1 At3="Attribut3">Le texte 3</Balise1></noeudRacine>
    mais je veux mon Fichier sur cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <noeudRacine>
                      <Balise1 At1="Attribut1">la Texte 1</Balise1>
                      <Balise1 At2="Attribut2">Le texte 2</Balise1>
                      <Balise1 At3="Attribut3">Le texte 3</Balise1>
             </noeudRacine>
    es que il y a une solution
    merci

  2. #2
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 179
    Points : 65
    Points
    65
    Par défaut
    j´ai trouver cette Code sur internet, mais il ne fonctionne pas:
    alors cette Code ouvre le fichier une autre fois et essaie de decouper le texte

    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     'now do another parsing test that all was good
        'this parse also adds alignment to the generated nodes
         xmlDoc.Load (XML_FILE_NAME)
         If (xmlDoc.parseError.ErrorCode <> 0) Then
            Set xmlParseError = xmlDoc.parseError
            Call MsgBox("XML parser error: " & xmlParseError.reason, vbCritical)
         End If
         xmlDoc.Save (XML_FILE_NAME)

  3. #3
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    D'abord le script ce que vous avez "trouvé" n'est pas terrible pour traiter le problème comme ceci et ça montre que vous n'êtes peut-être pas trop à l'aise avec vbs; mais la fonctionalité rechercher qui peut parâitre anodin pour beaucoup est hélas pas si élémentaire avec en plus l'encodage est quelque chose de central pour xml et qu'il faut le traiter avec soins.

    Je peux vous passer une fonction (ou sub comme vous voulez) minimale pour le faire avec les fichiers xml encodés en utf-8 (on peut bien entendu relacher préciséement pour les encodages d'après ce qu'on besoin).
    Code vb : 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
    function prettyprint(inxml, outxml)
     
        set writer=createobject("msxml2.mxxmlwriter.4.0")
        with writer
            .indent=true
            .encoding="utf-8"	
            .omitxmldeclaration=true
        end with
     
        set reader=createobject("msxml2.saxxmlreader.4.0")
        with reader
            set .contenthandler=writer
            .putProperty "charset", "utf-8"
        end with
     
        set ostream=createobject("adodb.stream")
        with ostream
            .type=2    'adTypeBinary=1, adTypeText=2
            .charset="utf-8"
            .open
            reader.parseURL inxml
            .writetext writer.output
     
            .position=0
            .type=2    'adTypeText=2
            .savetofile outxml,2    'adSaveCreateNotExist=1, adSaveCreateOverWrite=2
            .flush
            .close
        end with
        set ostream=nothing
     
        set reader=nothing
        set writer=nothing
    end function
    Pour la faire appeler, on passe les parcours pour les fichiers "in" et "out", grosso modo, comme ça.
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    XML_FILE_NAME="input.xml"
    output="output.xml"    'il se peut être input.xml, mais on ne peut plus refaire
    on error resume next
    prettyprint XML_FILE_NAME, output
    if err.number <> 0 then
        wscript.echo hex(err.number) & vbcrlf & err.description
    else
        wscript.echo "pretty print utf-8 encoded xml done"
    end if
    on error goto 0

Discussions similaires

  1. [WD18] Garder la mise en forme d'un fichier XML
    Par jacquesprogram dans le forum WinDev
    Réponses: 11
    Dernier message: 17/09/2013, 15h21
  2. Réponses: 7
    Dernier message: 12/01/2011, 03h58
  3. Generateur de Forms depuis un fichier Xml..Style XAML
    Par sacofan dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 27/11/2006, 16h10
  4. Correction d'un fichier xml mal formé
    Par devlo dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 25/10/2006, 11h30
  5. [DOM] Créer un fichier XML sous une forme bien précise
    Par LaseLiep dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 09/06/2005, 18h05

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