À l'aide de C# expression Régulière pour remplacer le contenu d'un élément XML

Je suis en train d'écrire du code qui gère la journalisation de données xml et je voudrais être en mesure de remplacer le contenu de certains éléments (par exemple des mots de passe) dans le document. Je préfère ne pas sérialiser et analyser le document en tant que mon code sera le traitement d'une variété de schémas.

Exemple, les documents d'entrée:

doc n ° 1:

   <user>
       <userid>jsmith</userid>
       <password>myPword</password>
    </user>

doc n ° 2:

<secinfo>
       <ns:username>jsmith</ns:username>
       <ns:password>myPword</ns:password>
 </secinfo>

Ce que j'aimerais que mon sortie:

sortie de doc n ° 1:

<user>
       <userid>jsmith</userid>
       <password>XXXXX</password>
 </user>

sortie de doc n ° 2:

<secinfo>
       <ns:username>jsmith</ns:username>
       <ns:password>XXXXX</ns:password>
 </secinfo>

Depuis les documents que je vais être le traitement pourrait avoir une variété de schémas, j'espérais venir avec un beau générique de l'expression régulière solution qui pourrait trouver des éléments avec mot de passe en eux et masque le contenu en conséquence.

Puis-je résoudre ce à l'aide d'expressions régulières et de C# ou est-il un moyen plus efficace?

Je serais certainement éviter d'utiliser une regex quand il y a beaucoup d'autres bons outils pour faire ce que vous voulez faire.
Même si regexs étaient capables de ce (ils ne le sont pas) havng une variété de schéma rend plus nécessaire pour utiliser un parser d'une forme ou d'une autre, pas moins.

OriginalL'auteur Millhouse | 2009-01-15