[R] Rendre un fichier XML lisible au format TXT

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 342
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

[R] Rendre un fichier XML lisible au format TXT

#1

Message par franco »

Bonjour.

Je ne sais pas si vous le savez, mais maintenant, malwarebyte's antimalware fournit les rapports au format XML...

J'ai donc fait un script qui m'enregistre le dernier rapport sur le bureau, avec l'extension TXT...

Et j'ai fait des "manipulations" pour que le fichier soit lisible de tous...

En fait, je voulais supprimer tous les </ ... >, ne sachant pas ce que contient ses balises </>... en fait, j'en connais, mais pas tous...

J'ai fait ceci :
► Afficher le textecode
En fait :

Code : Tout sélectionner

    For $i = 1 To _FileCountLines($mbamlogTXT)
        FileWriteLine($_rapport2, StringRegExpReplace(FileReadLine($mbamlogTXT, $i), "\</.*", "") & "")
    Next
Ce bout de code me supprime ce qu'il y a après </, et il supprime parfois des éléments qui ne faut pas.
Je veux supprimer que les balises </> et ce qu'elles contiennent...

Pouvez-vous m'aider ?

Merci :)
@ bientôt !
Modifié en dernier par franco le ven. 25 avr. 2014 09:17, modifié 1 fois.
L'entraide, c'est mon dada ;)
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Rendre un fichier XML lisible au format TXT

#2

Message par jguinch »

Perso, je ne comprends pas trop ta demande.
Tu pourrais poster un fichier XML et nous montrer le résultat que tu attends ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 342
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

Re: [..] Rendre un fichier XML lisible au format TXT

#3

Message par franco »

Salut.

je vais mettre le fichier XML en pièce jointe...

Je vais citer un passage :
<engine>
<version>2.00.0.1000</version>
<rules-database>v2014.03.27.02</rules-database>
<swissarmy-database>v2014.03.25.01</swissarmy-database>
<license>premium</license>
<file-protection>enabled</file-protection>
<web-protection>enabled</web-protection>
<self-protection>disabled</self-protection>
</engine>
etc...
En gros, je veux supprimer que les balises fermantes.
C'est à dire, en comparant avec le texte cité ci-dessus :
</version>
</rules-database>
</swissarmy-database>
</license>


Mais je ne sais pas toujours ce que contient les balises, et donc les balises fermantes non plus.

Si je vais quelle expression régulière il faut utiliser, je l'aurais fait... Mais celle que j'ai utilisé n'est pas la bonne.


Voilà.

Merci de ta réponse et de ton aide.
@+
Fichiers joints
mbam-log-2014-03-27 (10-51-54).xml
(4.29 Kio) Téléchargé 46 fois
L'entraide, c'est mon dada ;)
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Rendre un fichier XML lisible au format TXT

#4

Message par jguinch »

Mais ça va ressembler à rien :shock: :)
Un truc comme ça ?

Code : Tout sélectionner

$sUserContent = StringRegExpReplace( FileRead("mbam-log-2014-03-27 (10-51-54).xml"), "</[^>]+>", "")
ConsoleWrite($sUserContent)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 342
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

Re: [..] Rendre un fichier XML lisible au format TXT

#5

Message par franco »

Salut.

« Mais ça va ressembler à rien »

Si, car les balises ouvrantes, je les "transforme" moi même. ^^


En fait, avant la version 2 de malwarebyte, les rapports étaient sous format TXT.
Lisible aussi bien par les helpeurs que les helpés...

Maintenant, c'est devenue illisible. Car ce type de rapport, on le regarde via le bloc note, afin de voir ce qu'il en est.

Un exemple d'un rapport au format TXT : http://cjoint.com/14av/DDnu1lWnTFS_rapp ... rebyte.txt

Je le cite, vu que ce type de lien s'efface dans le temps :
► Afficher le texterapport mbam - TXT
Rien à voir avec le rapport au format XML que j'ai mis en pièce jointe ici.

==============================

Maintenant, merci pour ton code, il a résolu mon souci :)

Voici le code final (je peux encore l'améliorer, mais il est opérationnel)
► Afficher le textecode

Voilà ;)
Merci à toi :D

Bonne journée / soirée. 8)
L'entraide, c'est mon dada ;)
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Rendre un fichier XML lisible au format TXT

#6

Message par jguinch »

Juste deux remarques :
- dans ton code, tu déclares des variables que tu n'utilise pas (et à l'inverse tu utilise des variables non déclarées). C'est pas grave, mais c'est juste plus propre de supprimer les déclaration inutiles - et éventuellement de déclarer les autres)
- tu as deux fois _ReplaceStringInFile($recent_mbamlogTXT, "<items>", "[items]")

Un code un peu différent, qui ne nécessite pas d'include (ça n'enlève rien au travail que tu as fait, qui est tout aussi fonctionnel) :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Répondre