bubbathemaster
Messages postés339Date d'inscriptiondimanche 26 janvier 2003StatutMembreDernière intervention25 mars 2009
-
17 avril 2008 à 22:57
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
19 avril 2008 à 19:45
Bonjour,
Je recherche un parser de XML simple capable de lire node par node un fichier.
En effet, je dois travailler avec des fichiers XML pas toujours très standards pour être poli et les classes .NET XmlTextReader (on oublie XmlDocument qui ne charge pas le fichier) throw des exceptions et bloque.
Par exemple, j'ai des nodes comme
<nom attribut="valeur", attribut2="valeur2"> qui peuvent se glisser de temps en temps. La virgule fais planter le truc. Mettre dans un try/catch ne change rien au probleme: le XmlTextParser s'obstine à vouloir lire l'attribut corrompu.
Bref, je recherche un truc tout con capable de lire une node XML sans verification de standards ou une regexp assez souple pour faire ce type de boulot à la rigueur...
bubbathemaster
Messages postés339Date d'inscriptiondimanche 26 janvier 2003StatutMembreDernière intervention25 mars 20094 17 avril 2008 à 23:37
Pour éclaircir un peu mes propos:
La méthode Read() d'un XmlTextReader passe d'une node à la suivante. Si cette node est corrompue, le reader n'arrive pas à passer à la node suivante et reste bloqué. Comment contourner cet effet? (ou existe t-il un parser plus souple?)
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 18 avril 2008 à 00:18
Bonsoir,
Si le document n'est pas conforme XML, alors je ne pense pas que les objets traitant XML (System.Xml...) soient capable de traiter de tel document puisque ce n'est justement pas un fichier XML !
Dans ce cas là, je ne vois guère d'autres solutions que de:
- Corriger le fichier afin que cela soit vraiment du XML
- Utiliser un parser standard comme si c'était du texte.
bubbathemaster
Messages postés339Date d'inscriptiondimanche 26 janvier 2003StatutMembreDernière intervention25 mars 20094 18 avril 2008 à 18:11
Hum mouais... C'est bien ce que je craignais. Comme la réponse ne va pas tomber du ciel je suis en train d'écrire mon propre parser de node XML adapté à ce que je veux faire.
Vous n’avez pas trouvé la réponse que vous recherchez ?
bubbathemaster
Messages postés339Date d'inscriptiondimanche 26 janvier 2003StatutMembreDernière intervention25 mars 20094 19 avril 2008 à 17:29
Je n'y peux rien: je récupère des logs d'un autre logiciel, et je dois donc me débrouiller avec.
J'ai signalé la non conformité de leur XML produit au service technique, mais en attendant je dois me débrouiller.
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 19 avril 2008 à 18:36
Ok.
Personnellement je serais plutot parti sur une phase de transformation du log pour le rendre "valide" afin de pouvoir utiliser du standatd derrière.
bubbathemaster
Messages postés339Date d'inscriptiondimanche 26 janvier 2003StatutMembreDernière intervention25 mars 20094 19 avril 2008 à 19:38
C'est sans doute une bonne idée mais ca prendrait beaucoup de temps. J'ai besoin de parser des dizaines de milliers de lignes dans un temps raisonnable. En tous cas merci pour l'indexeur :)