Filtrer un fichier XML [C#/net & XML] - C#/.NET managed - Programmation
Marsh Posté le 08-03-2006 à 10:13:21
Sans vraiment réfléchir,
jdirais que tu as juste à utiliser le parseur XML de krosoft
XmlTextReader et tu charges le tout dans un objet XmlDataDocument
Ensuite tu parcours ton XmlDataDocument à l'aide de requete XPath, ou soit des méthodes FirstSibling/ChildNodes ... et tu copies les noeuds qui t'intesse dans un autre XmlDataDocument que tu flush en suite via un XmlTextWriter dans un fichier cible.
OU mieux, de loin le plus performant et facile à maintenir ! tu fais un fichier XSLT qui va transformer ton fichier XML source en un autre fichier XML cibler avec l'uilisation de l'objet XslCompiledTransform, tu trouveras bcp de doc sur le net.
Bon courage
Marsh Posté le 08-03-2006 à 23:30:34
je me suis msi aux XSLT en fait et j'ai réussi facilement, c'est très facile, bien plus évolutif (juste la feuille de style) et visiblement performant
merci
Marsh Posté le 07-03-2006 à 17:58:16
Bon, voilà mon problème : j'ai un fichier .xml en entrée, avec un truc dans ce genre dedans
C'est un très gros fichier, avec plein d'evenements.
Je souhaite le filtrer en fonction de plusieurs chaines en paramètre, et conserver uniquement les balises correspondant aux paramètres, pour écrire ça dans un nouveau fichier XML ...
Et je ne vois pas du tout comment faire. J'ai regardé pour les XmlTextReader, a cause de l'occupation en mémoire, mais je ne vois pas comment virer un noeud s'il ne me convient pas, et écrire tout au fur et à mesure ailleurs ...
Si quelqu'un sait comment faire ça, ça m'arrangerait beaucoup, je n'ai rien trouvé de correspondant sur le net.
Merci
---------------
Quand j'entends le mot "société", je sors mon revolver...