Salut,
Ton programme marchera très bien comme cela.
Mais si, comme tu le souhaites, chaque milliseconde compte, je te conseilles de faire cela avec les classe XmlTextReader et XmlTextWriter.
Le code sera moins évident à implémenter mais le résultats se fera sentir. Par expérience, je suis passé de l'ordre de 20min (qd l'ordi plantait pas^^) pour le traitement de fichier XML de + de 300Mo (je vous dis pas pour ouvrir avec notepad) à moins de 3min.
Pour ce faire, voici comment je verrai les choses :
XPathNavigator xp = xmlDoc.CreateNavigator();
xp.SelectSingleNode("//Personnes//Person");
XmlTextWriter xw = new XmlTextWriter("toto.xml", Encoding.UTF8);
xw.WriteStartElement("
");
xw.WriteNode(xp, false);
xw.WriteEndElement();//End PersListe node
Je t'avoue que je viens de découvrir le XPathNavigator (je ne travaillais qu'avec XmlTextReader et Writer). Mais cette solution semble t'être plus adaptée et devrait s'en approcher.
Billou_13
Bask En Force 
--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------