Impossible d'obtenir une expression régulière correctement avec multiline

J'ai une assez grosse sortie XML à partir d'une application. J'ai besoin de traiter avec mon programme, et puis les nourrir à l'origine du programme. Il y a des morceaux dans ce XML qui doit être rempli notre remplacé. La partie intéressante ressemble à ceci:

<sys:customtag sys:sid="1" sys:type="Processtart" />
    <sys:tag>value</sys:tag>
    here are some other tags
    <sys:tag>value</sys.tag>
<sys:customtag sys:sid="1" sys:type="Procesend" />

et le document contient plusieurs pièces de ce genre.

J'ai besoin d'obtenir toutes les XML pièces à l'intérieur de ces balises pour être en mesure de faire des modifications sur elle. J'ai écrit une expression régulière pour obtenir ces pièces, mais il ne fonctionne pas:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(@"output.xml");
Regex regExp = new Regex(@"<sys:customtag(.*?)Processtart(.*?)/>(.*?)<sys:customtag (.*?)Procesend(.*?)/>", RegexOptions.Multiline & RegexOptions.IgnorePatternWhitespace & RegexOptions.CultureInvariant);
MatchCollection matches = regExp.Matches(xmlDoc.InnerXml);

Si je laisse l'ensemble en une seule ligne et d'appeler cette regexp sans l'option multiligne, il n'trouver toutes les occurences. En laissant le fichier tel qu'il est et définissez l'option multiligne, il ne fonctionne pas. Quel est le problème, que dois-je changer? Ou est-il un moyen plus facile d'obtenir le code XML de pièces entre ces balises sans regexp?

source d'informationauteur Biri | 2008-11-14